【发布时间】:2012-10-28 15:13:42
【问题描述】:
众所周知,所有 java 进程在任务管理器中都显示为 javaw.exe。我想获取所有此类 java 进程的命令行。一个名为 ProcessExplorer 的工具可以做同样的事情,但它会在 GUI 中显示所有内容,我正在寻找同样的编程解决方案。
这是来自ProcessExplorer 工具的快照。
有什么想法吗??
【问题讨论】:
标签: java command-line process-explorer
众所周知,所有 java 进程在任务管理器中都显示为 javaw.exe。我想获取所有此类 java 进程的命令行。一个名为 ProcessExplorer 的工具可以做同样的事情,但它会在 GUI 中显示所有内容,我正在寻找同样的编程解决方案。
这是来自ProcessExplorer 工具的快照。
有什么想法吗??
【问题讨论】:
标签: java command-line process-explorer
您可以通过WMIC获取它
C:\> wmic process where(name="javaw.exe") get commandline
【讨论】:
如果命令行解决方案有帮助并且你有可用的 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" ...
【讨论】:
使用命令jps查找java进程
http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html
【讨论】:
在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
【讨论】: