좀비 프로세스 편집하기

IT위키

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
[[분류:운영체제]][[분류:리눅스]]
[[분류:운영체제]][[분류:리눅스]]
;부모 프로세스가 종료 되었는데도 불구하고 종료되지 않고 계속 남아있는 프로세스
;부모 프로세스가 종료 되었는데도 불구하고 종료되지 않고 계속 남아있는 프로세스
리눅스에서 ps 명령어로 S(Status) 필드의 항목이 Z로 표기된 프로세스


== 원인 ==
== 원인 ==
* 부모 프로세스의 오류로 인하여 종료한 자식 프로세스의 종료가 적절히 이루어지지 않음
* 부모 프로세스의 오류로 인하여 종료한 자식 프로세스의 종료가 적절히 이루어지지 않음
* 커널 오류에 의한 비정상적인 상태
* 커널 오류에 의한 비정상적인 상태
== 좀비 프로세스 파악 ==
* top 명령어를 통해 좀비 프로세스의 수, 좀비 프로세스를 확인할 수 있다.
* 개수: 두번째줄 마지막에 1 zombie를 통해 개수 확인
* 프로세스: 프로세스 목록 중 두번째 S(Status)가 Z로 표시된 프로세스 확인
<pre class='shell'>
[root@itwiki ~]# top
top - 22:01:31 up 97 days, 17:08,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 118 total,  3 running, 114 sleeping,  0 stopped,  1 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  1048576k total,  990160k used,    58416k free,  180060k buffers
Swap:  2031608k total,    48520k used,  1983088k free,  203936k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    1 root      15  0 10368  544  512 S  0.0  0.1  0:00.12 init
    2 root      RT  -5    0    0    0 Z  0.0  0.0  0:03.16 migration/0
    3 root      34  19    0    0    0 S  0.0  0.0  0:00.00 ksoftirqd/0
    4 root      RT  -5    0    0    0 S  0.0  0.0  0:00.00 watchdog/0
</pre>
* 아래와 같은 명령어를 통해 간단히 개수만 확인할 수도 있다.
<pre class='shell'>
[root@itwiki ~]# top -b -n 1 | grep zombie
Tasks: 139 total,  1 running, 136 sleeping,  0 stopped,  2 zombie
</pre>
* ps와 grep명령어를 통해 프로세스를 특정해서 조회할 수 있다.
<pre class='shell'>
[root@itwiki ~]# ps -ef | grep defunct | grep -v grep
root    17107 21899  0 Feb25 ?        00:00:00 [myagent] <defunct>
testuser 21207 21205  0 Feb26 ?        00:00:00 [check_service.sh] <defunct>
</pre>
== 좀비 프로세스 죽이기 ==
* 아래 명령어를 통해 일괄적으로 좀비 프로세스를 죽일 수 있다.
<pre class='shell'>
ps -ef | grep defunct | awk '{print $3}' | xargs kill -9
</pre>
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 IT위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소 편집 도움말 (새 창에서 열림)