1

コマンドを実行すると、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ますか?

4

2 に答える 2

4

いいえ、psではありません。これは、すべての引数またはなし(arglistのモジュロ切り捨て)のいずれかです。しかし、長いps出力をフィルタリングして、必要なものだけを残すのはどうでしょうか。sed、awk、perl、cutなどでできることはたくさんあります。マニュアルにはすべての詳細があります。

例:フィールド1から4と最後のフィールドを印刷するには、次を使用します。

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

これが、1つのツールで1つのことをうまく実行するというUnixの哲学とどのように一致するかに注意してください。psはプロセス情報を出力し、awkは必要なフィールドを選択します。

于 2012-08-31T08:01:57.123 に答える
1

あなたが探しているのはおそらくjpsCLIユーティリティまたはグラフィカルjconsoleです。

于 2012-08-31T08:03:06.883 に答える