我正在使用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