【问题标题】:Is there a set of arguments for ps which show Java processes more clearly?ps 是否有一组参数可以更清楚地显示 Java 进程?
【发布时间】:2012-08-31 07:58:07
【问题描述】:

运行ps 命令时,我得到如下输出:

[nick]$ ps
  PID TTY          TIME CMD
 3287 pts/3    00:00:00 bash
12308 pts/3    00:00:00 ps
19544 pts/3    00:00:00 STS
19548 pts/3    00:45:25 java
19753 pts/3    00:04:10 java
21149 pts/3    00:15:25 java

这对我帮助不大,因为我不知道每个 Java 进程到底是什么。运行 ps T 会提供更多信息,但现在信息太多了!

[nick]$ ps T
  PID TTY      STAT   TIME COMMAND
 3287 pts/3    Ss     0:00 bash
12319 pts/3    R+     0:00 ps T
19544 pts/3    S      0:00 /home/nick/springsource/sts-3.0.0.RELEASE/STS
19548 pts/3    Sl    45:25 /usr/lib/jvm/java-6-openjdk-amd64/bin/java -Dosgi.requiredJavaVersion=1.5 -Xms256m -Xmx1536m -XX:MaxPermSize=512m -jar /home/nick/springsource/sts-3.0.0.RELEASE//plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar -os linux -w......
19753 pts/3    Sl     4:10 /usr/lib/jvm/java-6-openjdk-amd64/bin/java -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:48135 -Dcatalina.base=/home/nick/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp3 -Dcatalina.home=/home/nic......
21149 pts/3    Sl    15:25 /usr/lib/jvm/java-6-openjdk-amd64/bin/java -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:57346 -Dcatalina.base=/home/nick/Documents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp5 -Dcatalina.home=/home/nic......

有没有办法只显示正在运行的 Java 包或类的文件名?像这样的:

[nick]$ ps
  PID TTY          TIME CMD
 3287 pts/3    00:00:00 bash
12308 pts/3    00:00:00 ps
19544 pts/3    00:00:00 STS
19548 pts/3    00:45:25 java abc.jar
19753 pts/3    00:04:10 java def.java
21149 pts/3    00:15:25 java ghi.jar

如果使用 ps 参数无法做到这一点,有没有办法使用 grep 实现它?

【问题讨论】:

    标签: linux shell command-line process ps


    【解决方案1】:

    不,不是 ps。它要么全部为 args,要么没有(arglist 的模截断)。但是如何过滤长 ps 输出以留下您想要的内容呢?您可以使用 sed、awk、perl、cut 和其他工具做很多事情。手册包含所有详细信息。

    示例:要打印字段 1 到 4 以及最后一个字段,请使用

    ps T | awk '{print $1, $2, $3, $4, $NF}'
    

    请注意,这与 Unix 哲学是如何匹配让一个工具做好一件事的:ps 打印进程信息,而 awk 选择您想要的字段。

    【讨论】:

      【解决方案2】:

      您正在寻找的可能是jps cli 实用程序或图形jconsole。

      【讨论】:

      • jps 看起来不错,但它没有显示任何非 Java 进程。理想情况下,我正在寻找能显示一切的东西。
      猜你喜欢
      • 1970-01-01
      • 2020-06-10
      • 1970-01-01
      • 2015-10-28
      • 2013-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多