我只是想用Java在Linux中构建集群软件。我想控制CPU负载,例如,如果CPU负载高于阈值,那么我减少执行线程大小。我以为我可以通过恶魔线程每秒检查CPU负载一次或几秒钟,如何在Java中实现它?如果我要检查特定进程是否已经死亡,那么如何在Java中实现,并且它打开的端口是否丢失?
答案 0 :(得分:1)
在纯Java中没有办法(AFAIK)这样做。您可以编写一些本机C来执行此操作,然后使用JNA / JNI进行接口(这将是最强大的解决方案。)
或者,快速简单的方法(如果您只是使用Linux)将使用Runtime.exec()
调用these native方法之一,然后您可以在Java中解析。
在检查流程是否已经死亡方面,您可以使用上述方法,但使用ps
。
编辑:This可能有所帮助。