2012-01-06 98 views
1

我正在使用kill函數來kill一個進程。但是,返回-1和perror顯示「無效參數」。如果閱讀kill手冊,則表示如果提供了錯誤的信號值,則會發生此錯誤。我通過或SIGKILL,像這樣kill(SIGKILL, pid)kill函數返回無效參數

那麼它爲什麼會給出無效的參數錯誤。請注意,調用kill函數的進程是我們試圖殺死的進程的子進程。

+1

從@ CarlNorum的答案,這似乎只是你翻轉你的論點... – fge 2012-01-06 19:08:23

回答

5

kill反其道而行之。從man page

int kill(pid_t pid, int sig); 

既然你傳遞的PID到位信號數量,反之亦然,這是非常有可能是它們中的至少一個將是一個無效的參數作爲perror告訴你的。

+0

誓言!我在做什麼愚蠢的錯誤:(! – MetallicPriest 2012-01-06 22:05:53

2

kill(SIGKILL, pid);應該是kill(pid, SIGKILL);

man 2 kill