我有使用进程构建器并调用 perl 脚本的 java 进程。perl 脚本在后台内部调用一个二进制文件,我在该 perl 脚本中有它的进程 id。现在我可以将此进程 id 返回给 java。
所以现在我在java中有进程ID。我只想在java中监视该进程是否正在运行或未运行。我怎样才能在java中进行这种监控。可能我需要java线程,但我对java有点陌生。所以有人可以建议一些方向吗?
我有使用进程构建器并调用 perl 脚本的 java 进程。perl 脚本在后台内部调用一个二进制文件,我在该 perl 脚本中有它的进程 id。现在我可以将此进程 id 返回给 java。
所以现在我在java中有进程ID。我只想在java中监视该进程是否正在运行或未运行。我怎样才能在java中进行这种监控。可能我需要java线程,但我对java有点陌生。所以有人可以建议一些方向吗?
也许最简单的方法是检查/proc
文件系统
如果存在进程 1234,则存在相应的文件条目/proc/1234
。
Java 只监视Process
用ProcessBuilder
类或Runtime.exec()
方法创建的。
您可以执行类似的本机命令,ps aux | grep <pid>
并使用类似的类从 java 中获取该命令的输出ProcessBuilder
。解释输出将告诉您该进程是否仍在运行。