1

我有一个启动两个 java 进程的 shell 脚本。如何确保当 shell 脚本进程被杀死时,它的所有子进程也会被杀死?例如,当我尝试杀死它时,java 进程仍然存在:

kill -9 myscriptID
4

2 回答 2

1

您可以通过运行以下命令检查所有 java 进程:

ps -aux | grep *java*

看起来也可以提供帮助。

于 2012-06-16T05:47:46.947 回答
0

您的kill命令只会杀死您的脚本,而不是它产生的其他进程。 杀死所有子进程的最佳方法对于杀死整个树有一些很好的答案。

也就是说,似乎更好的设计是跟踪子进程的 PID,而不是发送父进程,而是SIGKILL发送它SIGTERM(或以其他方式)以触发它优雅地杀死其子进程。

于 2012-06-16T05:50:32.177 回答