我有使用过程构建器并调用perl脚本的Java进程。perl脚本内部调用了背景中的二进制文件,我在该perl脚本中具有其进程ID。
所以现在我在Java中拥有流程ID。我只想在Java中监视该过程是运行还是不运行。我该如何在Java内部进行此监视。可能我需要Java线程,但我对Java有点新鲜。
也许最简单的方法是检查/proc
文件系统
如果存在过程1234,则有一个相应的文件条目/proc/1234
。
Java仅监视使用ProcessBuilder
类或Runtime.exec()
方法创建的Process
。
您可以执行像 ps aux | grep <pid>
这样的本机命令,并使用诸如 ProcessBuilder
之类的类从java中获取该命令的输出。解释输出将告诉您该过程是否仍在运行。