如何检测Java中经过的处理时间,不包括任何时间进程已经休眠

时间:2012-06-08 03:22:16

标签: java torque apache-commons-exec

我正在开发一个Java程序,它启动子进程,通过stdout接收数据并执行一些计算,并重复此过程。我在一台超级计算机上运行这个程序,该计算机使用与Torque相关的PBS,它具有一些特殊的调度功能,可以定期暂停作业,从而最大限度地提高系统利用率。

我在执行过程中遇到的一个问题是我的子进程神秘挂起(导致当前未知)的实例,导致Java等待永远不会到达的响应。我想要做的是监控这个过程并强制执行一个执行时间截止,即,如果进程运行了不寻常的时间,就死了,并且抛出某种错误让我知道发生了这种情况。

通常,我会使用Apache commons exec看门狗来执行此操作。但是我担心这个工作暂停的任何时候都会导致这个截止(假设它使用了开始和结束System.currentTimeMillis()之间的差异)。 Apache公共执行监督机构会受此影响吗?有没有办法在经过时间计算中排除任何暂停时间?

0 个答案:

没有答案