좀비 프로세스

1 개요[ | ]

zombie process, defunct process
좀비 프로세스
  • 종료가 되다만 프로세스
  • 종료 단계에 멈춰 있는 프로세스
  • 비정상적인, 종료되지 않는 프로세스
  • 부모프로세스가 죽었는데도 남아있는 자식프로세스
또는 부모프로세스가 비정상인 경우...
  • 자식 프로세스가 종료되어 사용하는 리소스는 모두 해제된 상태지만, 부모 프로세스가 자식 프로세스의 종료를 확인하지 못한 상태로 커널의 프로세스 테이블에는 관리되고 있는 상태[1]
  • 죽이거나 재부팅하면 없어진다...[2]

2 죽여도 안 죽는 경우[ | ]

[root@zetawiki ~]# ps -ef | grep defunct | grep -v grep
testuser 21207 21205  0 Feb26 ?        00:00:00 [check.sh] <defunct>
[root@zetawiki ~]# kill -9 21207
[root@zetawiki ~]# ps -ef | grep defunct | grep -v grep
testuser 21207 21205  0 Feb26 ?        00:00:00 [check.sh] <defunct>
→ 죽여도 안 죽는다. 부모프로세스를 확인해보자
[root@zetawiki ~]# ps -ef | grep -v grep | grep 21205 
testuser 21205  2021  0 Feb26 ?        00:00:00 crond
testuser 21207 21205  0 Feb26 ?        00:00:00 [check.sh] <defunct>
→ crond가 문제인듯
[root@zetawiki ~]# kill -9 21205
[root@zetawiki ~]# service crond restart
Stopping crond:                                            [  OK  ]
Starting crond:                                            [  OK  ]
[root@zetawiki ~]# ps -ef | grep defunct | grep -v grep
→ 해결완료

3 같이 보기[ | ]

4 참고[ | ]

  1. http://ahnseungkyu.com/238
  2. 재부팅하면 없어지는 건 맞는데, 죽여도 안 죽는 경우가 있다...
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}