![终止父进程和子进程的顺序](https://linux22.com/image/502382/%E7%BB%88%E6%AD%A2%E7%88%B6%E8%BF%9B%E7%A8%8B%E5%92%8C%E5%AD%90%E8%BF%9B%E7%A8%8B%E7%9A%84%E9%A1%BA%E5%BA%8F.png)
在我看来,终止父进程和子进程中的任何一个都不会影响另一个。
所以如果要杀死父进程及其所有子进程,我想我必须一个一个地杀死它们。我想知道哪种方法更好:先杀死父进程再杀死子进程,还是先杀死子进程再杀死父进程。
如果有任何方法可以通过一行或某个脚本来终止父进程及其所有子进程和孙进程,请告诉我。
感谢致敬!
答案1
您应该首先杀死子进程,然后杀死父进程以防止僵尸进程。或者您可以使用 kill pid1 pid2 一次杀死它们...
如果您想要杀死具有一些子进程的父进程,您可以使用带有扩展信息的 ps(或 pstree 等)来获取 pid 和父进程 pid(ppid)。利用这些信息,您可以编写杀死脚本。
答案2
您可以使用负 PID 来杀死整个组。
kill -15 -12345
或者
kill -- -12345