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 서버의 모든 좀비 프로세스가 표시됩니다. 두 번째 마지막 열에는 시작 후 경과된 시간이 표시됩니다.
$ 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>