【问题标题】:Get Command Line of a java process获取java进程的命令行
【发布时间】:2012-10-28 15:13:42
【问题描述】:

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

这是来自ProcessExplorer 工具的快照。

有什么想法吗??

【问题讨论】:

    标签: java command-line process-explorer


    【解决方案1】:

    您可以通过WMIC获取它

    C:\> wmic process where(name="javaw.exe") get commandline
    

    【讨论】:

      【解决方案2】:

      如果命令行解决方案有帮助并且你有可用的 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" ...
      

      【讨论】:

        【解决方案3】:

        【讨论】:

        • 您不会获得与 JRE 的完整路径一起使用的“命令行”。
        【解决方案4】:

        在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
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-02
          相关资源
          最近更新 更多