众所周知,所有java进程都在任务管理器中显示为javaw.exe。我想得到所有这些java进程的命令行。一个名为ProcessExplorer的工具做了同样的事情,但它显示了GUI中的所有内容,我正在寻找相同的编程解决方案。
以下是ProcessExplorer工具的快照。
任何想法??
答案 0 :(得分:3)
您可以使用WMIC
获取它C:\> wmic process where(name="javaw.exe") get commandline
答案 1 :(得分: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" ...
答案 2 :(得分:1)
使用命令jps
查找java进程
http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html
答案 3 :(得分: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