4

众所周知,所有 java 进程在任务管理器中都显示为 javaw.exe。我想获取所有此类 java 进程的命令行。一个名为ProcessExplorer的工具可以做同样的事情,但它会在 GUI 中显示所有内容,我正在寻找同样的编程解决方案。

这是ProcessExplorer工具的快照。

在此处输入图像描述

有任何想法吗??

4

4 回答 4

4

您可以使用WMIC获得它

C:\> wmic process where(name="javaw.exe") get commandline
于 2012-11-08T12:30:08.743 回答
1

使用命令jps查找java进程

http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html

于 2012-11-08T12:31:36.907 回答
1

如果命令行解决方案有帮助并且您有可用的 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" ...
于 2012-11-08T12:29:19.663 回答
0

在 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
于 2020-06-15T07:19:56.797 回答