psは、PID、PPID、PGID、およびSIDをまとめて表示するように切り替えます


39

-A、aux、efなどのさまざまな種類のスイッチでpsを試しましたが、プロセスID(PID)、親プロセスID(PPID)、プロセスグループを通知する適切なスイッチの組み合わせが見つかりませんID(PGID)、および同じ出力内のプロセスのセッションID(SID)。


ps -o <field>,<field>,...。マニュアルページに詳細があります。
ミケル

@Mikel私はすでにubuntu 12.04では動作しないことを見ました
-JohnMerlino

1
正常に動作するはずです。どのように実行していますか?(注ことを-o制御し、出力形式は、しかし、あなたはまだ必要かもしれません-A-e-p、などを選択するために、どの表示するように処理されます。)
ミケル

回答:


66

どうぞ:

$ ps  xao pid,ppid,pgid,sid | head
  PID  PPID  PGID   SID
    1     0     1     1
    2     0     0     0
    3     2     0     0
    6     2     0     0
    7     2     0     0
   21     2     0     0
   22     2     0     0
   23     2     0     0
   24     2     0     0

プロセスの名前も表示する場合は、これを使用します。

$ ps  xao pid,ppid,pgid,sid,comm | head
  PID  PPID  PGID   SID COMMAND
    1     0     1     1 init
    2     0     0     0 kthreadd
    3     2     0     0 ksoftirqd/0
    6     2     0     0 migration/0
    7     2     0     0 watchdog/0
   21     2     0     0 cpuset
   22     2     0     0 khelper
   23     2     0     0 kdevtmpfs
   24     2     0     0 netns

「comm」と「head」は何をしますか?
JohnMerlino

3
@JohnMerlino "comm"はコマンド名を出力しますheadが、別のコマンドであり、何の関係もありません。ps最初のN行(デフォルトでは10行)だけを出力します。psについて知っておくべきことはすべてで説明されていman psます。
テルドン

comm完全なコマンドを出力しません。たとえば、実行した場合python foo.py、commはpythonパートのみを表示しますが、python foo.py
32r34wgf3e

1
はい、だからコマンドの名前を表示すると言ったのです。コマンドはpythonfoo.pyコマンドの引数です。cmd引数も必要な場合は試してください。
テルドン

13

試して

ps -efj | less

具体的には、特定のProcessNameまたはPIDのPID / PGID / PPID / SIDを調べるには、次を試してください。

ps -efj | grep ProcessName

ps -efj | grep PID

または、より適切な形式の出力を得るには、次を試してください。

ps -ejf | egrep 'STIME|ProcessName'

ps -ejf | egrep 'STIME|pid'

Examples

ps -ejf | egrep 'STIME|http'

ps -ejf | egrep 'STIME|1234'

サンプル:

[ram@thinkred1cartoon ~]$ ps -ejf | egrep 'STIME|http'

UID        PID  PPID  PGID   SID  C STIME TTY          TIME CMD
root      1450     1  1450  1450  0 08:45 ?        00:00:04 /usr/sbin/httpd -DFOREGROUND
ram       3717     1  2589  2589  0 08:47 ?        00:00:00 /usr/libexec/gvfsd-http --spawner :1.3 /org/gtk/gvfs/exec_spaw/1
apache   11518  1450  1450  1450  0 09:40 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11519  1450  1450  1450  0 09:40 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11520  1450  1450  1450  0 09:40 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11521  1450  1450  1450  0 09:40 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache   11522  1450  1450  1450  0 09:40 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
1234がPIDであり、関連するPPID、PGID、SIDおよびCMDを知りたい場合
CentOS / RedHat 6.xおよび7.xでテスト済み
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.