2013-11-01 131 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结束父母立即,没有给它一个机会告诉其孩子完全退出。