我有一个启动两个 java 进程的 shell 脚本。如何确保当 shell 脚本进程被杀死时,它的所有子进程也会被杀死?例如,当我尝试杀死它时,java 进程仍然存在:
kill -9 myscriptID
您的kill
命令只会杀死您的脚本,而不是它产生的其他进程。 杀死所有子进程的最佳方法对于杀死整个树有一些很好的答案。
也就是说,似乎更好的设计是跟踪子进程的 PID,而不是发送父进程,而是SIGKILL
发送它SIGTERM
(或以其他方式)以触发它优雅地杀死其子进程。