如何从终端使用我的自定义系统调用?
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;
}
我的系统调用需要一个整数和 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;
}