【发布时间】:2017-01-08 21:52:27
【问题描述】:
我正在寻找一种将参数作为字符串传递给 C 中的函数 kill (man 2 kill) 的方法,因为信号取决于操作系统。所以用户输入程序应该发送的内容(例如 SIGUSR1,..),我想提交它。通过 kill(pid,USR_INPUT);
我的错误
Invalid Argument
我在哪里使用它:
kill(pid,name);
非常感谢
【问题讨论】:
-
你不能。
kill函数只是不支持这样调用它。您阅读了手册页,因此您应该已经知道了。为什么你会忽略手册页所说的第二个参数需要是什么? -
所以我必须为每个操作系统实现这个。这似乎是错误的
-
@PeterNeuman 考虑到
kill()itself 不是 C 而是 POSIX,我不明白你怎么能期望它在“每个操作系统上”都能工作。 -
在这个方法中: int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);如果我将它用作: int sigaction(SIGKILL,...
-
@PeterNeuman kill() 和 sigation() 做了完全不同的事情。所以,不确定你的比较。即便如此,它们都使用
ints(不是字符串)的信号编号。