作为 C++ 应用程序,有没有办法查询 java 进程(java.exe/javaw.exe)以检索传递给 JVM 的主类或 jar 文件名?我想要与运行“jps -l”时相同的结果:
C:\>jps -l -V
2644 sun.tools.jps.Jps
4340 net.sourceforge.squirrel_sql.client.Main
我想我可以获取命令行参数并尝试解析类名,但我想知道是否有更简单的方法可以可靠地仅提取类名或 jar 文件名。
谢谢!
作为 C++ 应用程序,有没有办法查询 java 进程(java.exe/javaw.exe)以检索传递给 JVM 的主类或 jar 文件名?我想要与运行“jps -l”时相同的结果:
C:\>jps -l -V
2644 sun.tools.jps.Jps
4340 net.sourceforge.squirrel_sql.client.Main
我想我可以获取命令行参数并尝试解析类名,但我想知道是否有更简单的方法可以可靠地仅提取类名或 jar 文件名。
谢谢!
几年前,我确实提交了一份 RFE,将主类名称作为系统属性。主类的系统属性。据我所知,如果不改变主类(可以通过检测来完成),没有一种好的方法可以做到这一点。
你可能会从PSAPI得到你想要的。如果从那里开始,您可以导航到所有其他 Win32 以从进程中挖掘信息。