如何从终端使用我的自定义系统调用?

How to use my custom syscall from the terminal?

我的系统调用需要一个整数和 returns 长。我可以在 syscall(549,1) 这样的 C 代码中使用它。但我想从终端而不是 C 代码使用它。你能帮帮我吗?

您无法直接使用来自 shell 的系统调用。虽然,您可以编写一个简单的 C 程序,编译它并将其位置直接添加到 PATH 或放入 /usr/local/bin。然后您将能够直接从 shell.

调用此二进制文件

您的 C 程序代码如下所示:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char *argv[]) {
    printf("%ld\n", syscall(549, (int) strtol(argv[1], NULL, 0)));
    return EXIT_SUCCESS;
}