我需要写一个代码
- 运行unix进程
Runtime.getRuntime().exec("java -jar MyServerRunner -port MYPORT"); - 通过从 java 代码中执行命令来查找进程的 PID
lsof -t -i: MYPORT - 并通过 pid 杀死他
kill -9 PID(也可以通过从 java 代码执行命令) - 然后执行其他命令
但
如果我通过我的程序以退出代码 137 退出执行此命令Runtime.getRuntime().exec()- 这意味着当我运行时Runtime.getRuntime().exec("kill -9 PID")我会杀死我的 java 程序的进程,而不是我从代码运行的程序。
我怎样才能只杀死我从代码运行的进程?
PS也许我应该使用 ProcessBuilder ?