【问题标题】:Find name of .jar in java(w).exe process list在 java(w).exe 进程列表中查找 .jar 的名称
【发布时间】:2013-02-18 11:44:15
【问题描述】:

在我的公司环境中,有这个脚本可以在很多计算机上运行,​​我偶尔会要求用户杀死它,因为众所周知它会不时锁定。

我正在想办法自己杀死它。我注意到我可以使用pslist 远程列出,然后使用pskill 杀死它。

现在的问题是,当有人运行多个 java 应用程序(例如 Eclipse、此应用程序、另一个 java.exe 应用程序...)时,要在 pslist 中杀死正确的应用程序变得很棘手,看起来像这样:

javaw  4214 .. ...
javaw  5000 .. ...

等等。这些是不同的应用程序,但它们都从 javaw.exe 运行。有没有办法找出他们正在运行的 .jar 的名称,以便我可以根据它终止进程?

【问题讨论】:

    标签: java windows process jar cmd


    【解决方案1】:

    你可以列出java进程

    jps
    

    jps -v
    

    Jps 是JDK 和JRE 提供的一个工具,你可以在JDK_HOME/bin 中找到它。 选项 -v 显示附加信息(JVM 启动参数)

    【讨论】:

    • 也许我想补充一点,-l 选项显示了完整的包名,我将在我的小脚本中使用它
    • 如果我没记错的话;对于 Java 1.8,jps 仅包含在 JDK 中,不包含在 JRE 中。
    【解决方案2】:

    您可以使用jps。它本身并不能提供太多有用的信息来识别 java 应用程序。你需要一点额外的细节。

    您可以使用jps 的以下选项来打印传递给java 应用程序的完整命令行参数(JVM 参数和主方法参数),

    jps -lvm
    

    参考:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jps.html

    【讨论】:

      猜你喜欢
      • 2016-05-12
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多