2009-12-15 5 views
6

커널 2.6.18이 설치된 Fedora Core 9 웹 서버에서 init은 좀비 프로세스를 거치지 않습니다. 프로세스 테이블이 결국 새로운 프로세스를 할당 할 수없는 상한에 도달하지 않은 경우 견딜 수 있습니다. ps -el | grep 'Z'좀비/무효 프로세스를 거두지 않는 init

샘플 출력 :

F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY   TIME CMD 
5 Z  0 2648  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
1 Z 51 2656  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
1 Z  0 2670  1 0 75 0 -  0 exit ?  00:00:02 crond <defunct> 
4 Z  0 2874  1 0 82 0 -  0 exit ?  00:00:00 mysqld_safe <defunct> 
5 Z  0 28104  1 0 76 0 -  0 exit ?  00:00:00 httpd <defunct> 
5 Z  0 28716  1 0 76 0 -  0 exit ?  00:00:06 lfd <defunct> 
5 Z 74 10172  1 0 75 0 -  0 exit ?  00:00:00 sshd <defunct> 
5 Z  0 11199  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11202  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11205  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11208  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11211  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11240  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11246  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11249  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
5 Z  0 11252  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 
1 Z  0 14106  1 0 80 0 -  0 exit ?  00:00:00 anacron <defunct> 
5 Z  0 14631  1 0 75 0 -  0 exit ?  00:00:00 sendmail <defunct> 

이 OS는 버그는? 구성이 잘못 되었습니까? 나는이 문제의 근원에 대한 영감을 찾고있다. 감사

답변

2

이 2 가지 방법으로 우분투에 저를 쳤다 : 커널 문제

  1. 뭔가. 필자의 경우 커널 드라이버가 충돌하여 내부 프로세스가 엉성 해졌다. 이를 테스트하는 가장 좋은 방법은 /var/log/syslog (및 dmesg)를 검사하여 awry가 보이는지 확인하는 것입니다 (예 : "BUG : 0000000000000028의 커널 NULL 포인터 역 참조를 처리 할 수 ​​없음",

  2. 다른 시간 init이 "대부분의 목적을위한 자식 프로세스의 부모"가 아닌 경우입니다 (실제 맨 페이지 인용문). 이것은 ptrace syscall (strace 프로그램이 내부적으로 사용하는)을 사용하여 프로세스에 접속할 때 발생할 수 있습니다. 예를 들어, 나는 자식 프로세스 B에 strace를 첨부하는 상황에 처해 있습니다. 결국 프로세스 B는 부모 프로세스와 마찬가지로 종료합니다 (순서는 확실하지 않음). 프로세스 B는 init이 소유 한 좀비처럼 보입니다. 그러나 "대부분의 목적"부모는 실제로 strace 프로그램이었습니다. strace를 죽인 후, B 공정을 거쳤습니다.

관련 문제