有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在Linux中不使用sudo查找进程名

以下是我熟悉的命令,它们可以执行您可能认为我需要的操作: 为了这个问题"pn" = "process name"

pgrep pn
sudo /sbin/service pn status
ps -fC pn

我遇到的问题是Javapgrep Java将给出所有java进程的PID。但是,如果我知道java应用程序的确切名称,让我们称之为coffee,pgrep Coffee什么都没有给我。然而,sudo /sbin/service Coffee status会给我咖啡的确切PID。问题是我不想也不能在我写的脚本中使用sudo。那么,即使咖啡是Java应用程序,我如何找到它的PID呢


共 (1) 个答案

  1. # 1 楼答案

    您可能想看看JPS(Java进程状态)工具。我不记得它是否与运行时环境一起提供。它列出了当前运行的所有java进程、它们的PID以及java应用程序的名称。您可能可以解析输出以获得所需的值

    http://docs.oracle.com/javase/7/docs/technotes/tools/share/jps.html

    样本输出:

    jps
    18027 Java2Demo.JAR
    18032 jps
    18005 jstat