Что такое httpd <defunct>?

32537 apache    16   0 87424  15m 7324 S  2.3  0.3   0:00.52 httpd              
 3302 mysql     15   0  156m  41m 4756 S  1.3  0.7  10:50.91 mysqld             
  489 apache    16   0 87016  14m 6692 S  0.7  0.2   0:00.27 httpd              
  990 apache    15   0     0    0    0 Z  0.7  0.0   0:00.12 httpd <defunct>    
  665 apache    15   0 86992  13m 5644 S  0.3  0.2   0:00.20 httpd              
32218 apache    15   0 87356  14m 6344 S  0.3  0.2   0:00.53 httpd              
    1 root      15   0  2160  640  556 S  0.0  0.0   0:01.18 init  

Из top появляется случайный httpd <defunct>. Что оно делает?

Я обнаружил, что веб-сервер иногда не отвечает на FPDF (распечатайте PDF по запросу пользователя). Связано ли это?

UPDATE, с информацией о загрузке:

top - 11:55:59 up 17:30,  6 users,  load average: 0.53, 0.47, 0.80
Tasks: 322 total,   1 running, 320 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.7%us,  0.2%sy,  0.0%ni, 95.1%id,  3.9%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   6219412k total,  5944068k used,   275344k free,    21024k buffers
Swap:  5140792k total,       96k used,  5140696k free,  5270708k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
 1951 apache    16   0     0    0    0 Z  0.9  0.0   0:00.33 httpd <defunct>    
 2267 apache    15   0 86992  13m 5876 S  0.9  0.2   0:00.22 httpd              
 3302 mysql     15   0  156m  41m 4756 S  0.9  0.7  11:43.72 mysqld             
 2220 apache    15   0 87204  14m 6496 S  0.6  0.2   0:00.28 httpd              
 2340 apache    15   0 87828  13m 5588 S  0.6  0.2   0:00.22 httpd              
 2341 apache    17   0 88236  14m 5564 S  0.6  0.2   0:00.15 httpd              
  842 apache    16   0 87432  15m 7180 S  0.3  0.2   0:00.81 httpd              
 2225 apache    18   0 88236  14m 5560 S  0.3  0.2   0:00.17 httpd              
 2401 apache    15   0 86916  12m 5344 S  0.3  0.2   0:00.11 httpd              
    1 root      24   0  2160  640  556 S  0.0  0.0   0:01.18 init               

Ответ 1

Неисправный процесс - это процесс, который вышел, но чей родитель еще не ждал, чтобы он прочитал его статус выхода, оставив запись в таблице процессов. Также известен как зомби-процесс. Дополнительную информацию см. В статье Wikipedia .

Ответ 2

Когда процесс умирает в Unix, он отправляет код выхода своему родительскому элементу. Неисправный процесс или "зомби" - это тот, чей родитель еще не посмотрел код выхода из зомби. Когда родитель получает код выхода (используя системный вызов wait), зомби исчезнет.

Ответ 3

Обычно не выполняющийся процесс - это тот, который завершен, но ОС сохраняет его до тех пор, пока родительский waits пока он не "соберет" свой статус. Обычно вы видите многое из этого, когда вы написали свой собственный "разветвленный" код и у вас есть ошибки.

Если вы используете

ps -Hwfe

Вы увидите иерархию процессов и то, что является родителем. Странно, что это процесс httpd, он обычно довольно хорошо собирает своих детей. Если ваша система не ровная, поэтому вы используете top в первую очередь...