繁体   English   中英

如何检查Javaprocess是否仍在运行?

[英]How to check whether a Javaprocess is still running or not?

我正在为Serversoftware Bukkit开发插件,应重新启动它。 因此,我添加了主要功能,该功能检查正确的参数,然后启动Bukkit。 但是在启动Bukkit之前,应先等待Bukkit关闭,然后再重新启动。 我知道我可以添加超时时间,但我希望有更好的方法。 那么有人知道该怎么做吗?

一种方法是使用System.getProperty("os.name");检查操作系统System.getProperty("os.name"); 并针对该特定平台运行ad hoc命令(例如: LinuxWindows )。

当您启动多个Java进程时,它们似乎都具有相同的标识符,这似乎是您的问题。 “区分”流程是您的问题,而不是扼杀它们。

因此,您可以自己以编程方式创建流程,从而可以记录用于该流程的PID。 然后将其杀死非常简单: http : //blog.igorminar.com/2007/03/how-java-application-can-discover-its.html

另一个想法是使用JPS获取有关所有Java进程的信息。 这里讨论了一个简单的sudo算法: http : //bluepedia.blogspot.com/2008/11/jps-differentiate-between-multiple-java.html

希望我能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM