AIXで死んだプロセスの開始時間を取得するには?

AIXで死んだプロセスの開始時間を取得するには?

AIXで次のコマンドを実行した場合:

22:root@SERVER:/root # ps -ef | head -1
     UID      PID     PPID   C    STIME    TTY  TIME CMD
22:root@SERVER:/root # ps -ef | grep defunct | head -1
     foo  9364552  7975688   0                  0:00 <defunct>

私は状態のこのプロセスを見つけました<defunct>kdbプロセスのPIDを見ると、カーネルデバッガが実行されます。

22:root@SERVER:/root # kdb
WARNING: Version mismatch between unix file and command kdb
       START              END <name>
0000000000001000 0000000004160000 start+000FD8
F00000002FF47600 F00000002FFDF9C8 __ublock+000000
000000002FF22FF4 000000002FF22FF8 environ+000000
000000002FF22FF8 000000002FF22FFC errno+000000
F1000F0A00000000 F1000F0A10000000 pvproc+000000
F1000F0A10000000 F1000F0A18000000 pvthread+000000
read vscsi_scsi_ptrs OK, ptr = 0x0
(0)> tpid -d 9364552
            SLOT NAME     STATE    TID PRI   RQ CPUID  CL  WCHAN

pvthread+05FE00 1534 <zombie> ZOMB  5FE00AD 03C    5         0  

SLOTどちらを占有しているかを確認し、start次のプロセスを確認してください。

(0)> u 1534 | grep -i start
(0)> where 1534
thread F1000F0A1005FE00 not loaded

(0)> 
(0)> exit

STIME進行過程と関連はないようです。

私のシステムに関する追加情報は次のとおりです。

22:root@SERVER:/root # oslevel -s
6100-08-03-1339
22:root@SERVER:/root # uname
AIX

<defunct>私のプロセスに関する追加情報:

22:root@SERVER:/root # procstack 9364552
procstack: 9364552 is a kernel process
22:root@SERVER:/root # proctree 9364552
7975688    /foo/foobinary
   9364552    

私の質問:死んだプロセスの「ps」コマンドにはSTIMEはありません。開始時間を知る方法はありますか?

答え1

ps -fp <pid>この情報は通常あなたに提供されます

# ps -fp 6357210 
     UID      PID     PPID   C    STIME    TTY  TIME CMD
    root  6357210        1  35 15:25:31      -  3:03 nfsd

答え2

ps -el | grep "Z"

これにより、AIXサーバー上のすべてのゾンビプロセスが表示されます。最後の2番目の列には、開始から経過した時間が表示されます。

$  ps -el | grep 'Z'
F S      UID      PID     PPID   C PRI NI ADDR    SZ    WCHAN    TTY  TIME CMD
250005 Z   150921 18284566 21102640   0  60 20                :00 <defunct>

関連情報