众所周知,所有 java 进程在任务管理器中都显示为 javaw.exe。我想获取所有此类 java 进程的命令行。一个名为ProcessExplorer的工具可以做同样的事情,但它会在 GUI 中显示所有内容,我正在寻找同样的编程解决方案。
这是ProcessExplorer工具的快照。
有任何想法吗??
众所周知,所有 java 进程在任务管理器中都显示为 javaw.exe。我想获取所有此类 java 进程的命令行。一个名为ProcessExplorer的工具可以做同样的事情,但它会在 GUI 中显示所有内容,我正在寻找同样的编程解决方案。
这是ProcessExplorer工具的快照。
有任何想法吗??
您可以使用WMIC获得它
C:\> wmic process where(name="javaw.exe") get commandline
使用命令jps
查找java进程
http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html
如果命令行解决方案有帮助并且您有可用的 Windows Powershell,则可以使用类似
PS> $c = Get-WmiObject Win32_Process -Filter "name='javaw.exe'" | select-Object CommandLine
PS> $x.CommandLine
"C:\Program Files (x86)\Java\jre7\bin\java.exe" "-Djava.class.path=C:\\PROGRA~2\\Java\\jre7\\classes" ...
在 Windows 中使用命令提示符,您可以运行以下命令
wmic process where(name="javaw.exe") get commandline
带有命令提示符的示例输出
CommandLine
"C:\Users\Public\agent\jre\bin\javaw.exe" -cp .\agent-jar-with-dependencies.jar com.agent.Runner
使用powershell 提示符,您可以运行以下命令
Get-WmiObject -Class Win32_Process -Filter "Name='javaw.exe'" | select-Object CommandLine
使用 Powershell 命令的示例输出
CommandLine
-----------
"C:\Users\Public\agent\jre\bin\javaw.exe" -cp .\agent-jar-with-dependencies.jar com.agent.Runner