Java 如何终止从shell脚本运行的JVM?
我有一个启动两个java进程的shell脚本。如何确保当shell脚本进程被终止时,它的所有子进程也将被终止?例如,当我试图杀死它时,java进程保持活动状态:Java 如何终止从shell脚本运行的JVM?,java,linux,shell,Java,Linux,Shell,我有一个启动两个java进程的shell脚本。如何确保当shell脚本进程被终止时,它的所有子进程也将被终止?例如,当我试图杀死它时,java进程保持活动状态: kill -9 myscriptID 通过运行以下命令,可以检查所有java进程: ps -aux | grep *java* 看起来它也有帮助。您可以通过运行以下命令检查所有java进程: ps -aux | grep *java* 看起来它也有帮助。您的kill命令只会杀死您的脚本,而不会杀死它生成的其他进程。有一些杀死整棵树
kill -9 myscriptID
通过运行以下命令,可以检查所有java进程:
ps -aux | grep *java*
看起来它也有帮助。您可以通过运行以下命令检查所有java进程:
ps -aux | grep *java*
看起来它也有帮助。您的
kill
命令只会杀死您的脚本,而不会杀死它生成的其他进程。有一些杀死整棵树的好答案
这就是说,似乎更好的设计是跟踪子进程的PID,而不是发送父进程
SIGKILL
,而是发送它SIGTERM
(或使用其他方式)来触发它优雅地杀死它的子进程。kill
命令只杀死脚本,而不是它产生的其他进程。有一些杀死整棵树的好答案
这就是说,似乎更好的设计是跟踪子进程的PID,而不是发送父进程
SIGKILL
,而是发送它SIGTERM
(或采用其他方式)触发它优雅地杀死它的孩子。我希望myscript
在这里引用它的进程id。我希望myscript
在这里引用它的进程id。