在 C 中将字符串参数传递给 kill()
Passing String Arguments to kill() in C
我正在寻找一种方法将参数作为字符串传递给 C 中的函数 kill (man 2 kill),因为信号取决于 OS。所以用户输入程序应该发送的内容(例如 SIGUSR1,..),我想提交它。通过 kill(pid,USR_INPUT);
我的错误
Invalid Argument
我在哪里使用它:
kill(pid,name);
非常感谢
这根本不可能。
kill(2)
不接受信号的字符串(第二个)参数。您必须处理作为字符串输入的信号,这听起来有点不确定。如果您确实需要这样做,您可以通过将字符串输入与您感兴趣的信号列表进行比较,将其转换为整数形式:
if (strcmp(sig_str, "SIGINT") == 0) {
sig_num = SIGINT;
} else if (sig_str, "SIGTERM") == 0) {
sig_num = SIGTERM;
} else if ...
...
kill(pid, sig_num);
我正在寻找一种方法将参数作为字符串传递给 C 中的函数 kill (man 2 kill),因为信号取决于 OS。所以用户输入程序应该发送的内容(例如 SIGUSR1,..),我想提交它。通过 kill(pid,USR_INPUT);
我的错误
Invalid Argument
我在哪里使用它:
kill(pid,name);
非常感谢
这根本不可能。
kill(2)
不接受信号的字符串(第二个)参数。您必须处理作为字符串输入的信号,这听起来有点不确定。如果您确实需要这样做,您可以通过将字符串输入与您感兴趣的信号列表进行比较,将其转换为整数形式:
if (strcmp(sig_str, "SIGINT") == 0) {
sig_num = SIGINT;
} else if (sig_str, "SIGTERM") == 0) {
sig_num = SIGTERM;
} else if ...
...
kill(pid, sig_num);