我需要写一个代码
- 运行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 ?