我需要在Java1.5( ProcessBuilder)中执行和终止/中止不同的>=脚本。使用标准的java机制,我只能杀死用于shell脚本执行的主进程。当这个shell脚本启动其他进程(例如./foo.sh &;./bar.sh &)时,当我在Java中终止/中止主shell脚本进程时,这些进程仍在运行。
如何从Java内部跟踪来自所有新的子进程/子进程的所有I?有没有可能做到这一点?或者(在*nix- and Win-OSes中)可以找到一个已知进程产生的所有进程?
谢谢,托马斯
发布于 2009-12-21 06:04:32
如果您可以控制不同的脚本,则可以传递其子脚本的PID (使用$!找到上一次运行的后台进程的PID )返回到主Java程序。这似乎是一种相当干净的方式,可以满足您的需求。
否则,返回this seems rather promising。
https://stackoverflow.com/questions/1861613
复制相似问题