监控java进程的快速可靠方法是什么?

时间:2011-04-06 17:11:17

标签: java process monitor

我有一个进程可以在另一个jvm中创建一个java进程。他们呆在同一台机器上。

我的理解是两个进程在不同的机器上运行,通常可以通过故障检测器完成。但目前只是生成另一个进程(使用Runtime.getRuntime())并将必要的参数传递给子进程。我能想到的是执行系统命令,例如jps ...ps -ef | grep ...什么会更好 检测java进程是否崩溃与监视它的进程位于同一台机器上?

3 个答案:

答案 0 :(得分:0)

Runtime.exec方法返回Process。您可以通过此实例控制进程:您可以终止它(destroy),等待终止(waitFor)并在终止后获取其错误代码(exitValue)。< / p>

答案 1 :(得分:0)

根据您的目的,Process对象可能有效。

如果您需要更多信息,我建议在它们之间打开套接字连接。这样您就可以随时获得更详细的状态。

我以前做过这个,可以用几个非常小的课来完成。只需在两端发送和接收文本行。

答案 2 :(得分:0)

我会使用在监视pid的框上运行的脚本,如果它崩溃则表示父进程启动新的子进程。通过信号或通过监听管道/本地插座。