【问题标题】:How to terminate JVM run from shell script?如何从 shell 脚本终止 JVM 运行?
【发布时间】:2012-06-16 05:43:37
【问题描述】:

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

kill -9 myscriptID

【问题讨论】:

  • 我希望myscript在这里引用它的进程ID。

标签: java linux shell


【解决方案1】:

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

ps -aux | grep *java*

This 看起来也有帮助。

【讨论】:

    【解决方案2】:

    您的kill 命令只会杀死您的脚本,不会杀死它产生的其他进程。 Best way to kill all child processes 有一些杀死整棵树的好答案。

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

    【讨论】:

      猜你喜欢
      • 2019-03-18
      • 1970-01-01
      • 2014-07-31
      • 2010-12-11
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      相关资源
      最近更新 更多