Java 有没有办法发现给定进程空闲?

Java 有没有办法发现给定进程空闲?,java,Java,我在一个java应用程序中工作,我希望确保计算机中的给定进程处于空闲状态 例:-如果我们在计算机中启动下载进程,我的应用程序应该能够监视它(进程)并告诉它何时结束,如果您从另一个进程启动该进程,您可以通过process.waitFor()检测它何时结束您甚至可以使用其退出代码。大多数操作系统都提供用户命令来监视进程的活动,如CPU或I/O。或者,在更高级别上,您可以通过进程标识符获取进程的状态(运行或未运行)。您可以exec从Java执行这些工具,但在核心Java中没有这样做的工具,我也不知道有

我在一个java应用程序中工作,我希望确保计算机中的给定进程处于空闲状态
例:-如果我们在计算机中启动下载进程,我的应用程序应该能够监视它(进程)并告诉它何时结束,

如果您从另一个进程启动该进程,您可以通过process.waitFor()检测它何时结束您甚至可以使用其退出代码。

大多数操作系统都提供用户命令来监视进程的活动,如CPU或I/O。或者,在更高级别上,您可以通过进程标识符获取进程的状态(运行或未运行)。您可以
exec
从Java执行这些工具,但在核心Java中没有这样做的工具,我也不知道有任何库用于此目的


然而,如果您正考虑因为进程“空闲”而终止它,那么这通常是不安全的。您必须对所讨论的进程有足够的了解,以确保可以终止它,如果您对它有足够的了解,您可能会发现有一种方法可以让它完全关闭。

我觉得没有直接的方法来监控它,但如果我采用这种解决方案呢???我可以很容易地监控该进程的内存使用情况,如果内存使用情况在一段时间内保持不变,我会得出一个结论,即进程处于空闲状态??这取决于程序,但总CPU时间(而不是当前CPU使用率)似乎比内存使用情况更可靠。