我正在使用kill
函数来kill
一个进程。但是,返回-1和perror
显示“无效参数”。如果阅读kill
手册,则表示如果提供了错误的信号值,则会发生此错误。我通过或SIGKILL
,像这样kill(SIGKILL, pid)
。kill函数返回无效参数
那么它为什么会给出无效的参数错误。请注意,调用kill
函数的进程是我们试图杀死的进程的子进程。
我正在使用kill
函数来kill
一个进程。但是,返回-1和perror
显示“无效参数”。如果阅读kill
手册,则表示如果提供了错误的信号值,则会发生此错误。我通过或SIGKILL
,像这样kill(SIGKILL, pid)
。kill函数返回无效参数
那么它为什么会给出无效的参数错误。请注意,调用kill
函数的进程是我们试图杀死的进程的子进程。
kill
反其道而行之。从man page:
int kill(pid_t pid, int sig);
既然你传递的PID到位信号数量,反之亦然,这是非常有可能是它们中的至少一个将是一个无效的参数作为perror
告诉你的。
誓言!我在做什么愚蠢的错误:(! – MetallicPriest 2012-01-06 22:05:53
你kill(SIGKILL, pid);
应该是kill(pid, SIGKILL);
man 2 kill
从@ CarlNorum的答案,这似乎只是你翻转你的论点... – fge 2012-01-06 19:08:23