2013-11-01 130 views
1
kill -9 `cat ~/code/posbox/posbox.pid` 

我正在運行上面的命令來終止一個進程。 pid是文件中,它的正確查殺過程,但子進程仍在運行如何從pid文件中查殺時殺死子進程

當我做

kill <PID number> 

它殺死的過程中所有的子進程一起。如何從pid文件中給出的pid中殺死所有父進程和子進程?

+0

你試過'男人殺人'嗎? – KevinDTimm

+0

是的,我做了凱文。 –

+0

@KevinDTimm'help kill'對於bash內建''更相關:'' –

回答

3

由於kill <PID number>作品,只是使用:

# By default, send SIGTERM, not SIGKILL (9) 
kill $(cat ~/code/posbox/posbox.pid) 

這聽起來像你的過程中捕捉TERM信號並將其傳遞到其子退出之前,讓他們都完全退出。使用kill -9結束父母立即,沒有給它一個機會告訴其孩子完全退出。