在谷歌的一项研究后,我找到了很好的答案,如:
1)使用 jps 或 jps -l </ strong>来获取在JVM下运行的jar
确定这个答案但如果用户根本没有安装java,我使用例如.bat文件和带有Java JRE的文件夹运行我的jar。
gps功能也是实验性的,只有JDK包含它而不是JRE。
2)Check if jar running from shell
我需要在Windows平台上使用这个解决方案。尽管平台独立解决方案始终是可以解决的。
关于jps的更多信息(因为它与平台无关)我将非常感谢您使用 jps 功能为我提供了一个很好的解决方案。
答案 0 :(得分:3)
如上所述,您可以在* nix系统上使用ps
和grep
。对于Windows,您可以这样做:
tasklist /v /FI "IMAGENAME eq java.exe"
这将为您提供所有正在运行的Java程序的列表。我不认为你可以在Windows上更接近。
答案 1 :(得分:1)
使用此命令检查jar是否正在运行。
ps aux | grep java
例如:
sys_name 7526 60.1 2.6 4474364 104092 pts / 4 Sl + 23:57 0:09 java -jar start.jar