'ps'パラメーターは、一緒にPID、PPID、PGID、およびSIDを表示します。

'ps'パラメーターは、一緒にPID、PPID、PGID、およびSIDを表示します。

、、など、psさまざまな種類のスイッチを試してみましたが、プロセスID(PID)、親プロセスID(PPID)、プロセスグループを示す正しいスイッチの組み合わせが見つからないようです。 ID(PGID)などが同じ出力に表示されます。プロセスのセッションID(SID)。-Aauxef

答え1

ここにあります:

$ 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

答え2

努力する

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'

SAMPLE:

[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 および 8.x でテストされました。

答え3

以下のコマンドを試してください。うまくいきます。

ps -eo pid,ppid,pgid,sgid| head
  PID  PPID  PGID  SGID
    1     0     1     0
    2     0     0     0
    4     2     0     0
    6     2     0     0
    7     2     0     0
    8     2     0     0
    9     2     0     0
   10     2     0     0
   11     2     0     0

関連情報