🧟♂️ Linux: Атака зомби. Как убить то, что уже мертво?
Вы смотрите в
Спойлер: Это бесполезно. Зомби нельзя убить, потому что он уже мертв.
Что такое Zombie Process: Это процесс, который завершил выполнение, освободил память, но его запись осталась в таблице процессов, потому что "Родитель" (Parent Process) не прочитал его код завершения (exit code).
Как починить правильно: Нужно найти родителя и "пнуть" его (или убить).
1. Ищем зомби и их родителей:
Вывод:
2. Решение: Отправьте сигнал родителю, чтобы он "прибрался за детьми":
Если не помогло — убивайте родителя:
#linux #processes #zombie #troubleshooting #kernel #theory
Вы смотрите в
top и видите: zombie: 5 . Новички пытаются сделать kill -9 <PID_ZOMBIE> .Спойлер: Это бесполезно. Зомби нельзя убить, потому что он уже мертв.
Что такое Zombie Process: Это процесс, который завершил выполнение, освободил память, но его запись осталась в таблице процессов, потому что "Родитель" (Parent Process) не прочитал его код завершения (exit code).
Как починить правильно: Нужно найти родителя и "пнуть" его (или убить).
1. Ищем зомби и их родителей:
ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
Вывод:
Z 1050 1051 [php-fpm] <defunct> (Где 1050 — PPID родителя, 1051 — PID зомби).2. Решение: Отправьте сигнал родителю, чтобы он "прибрался за детьми":
kill -SIGCHLD 1050
Если не помогло — убивайте родителя:
kill -9 1050 . Зомби исчезнет вместе с ним (или его подберет процесс init ).#linux #processes #zombie #troubleshooting #kernel #theory
🧟♂️ Linux: Атака зомби. Как убить то, что уже мертво?
Вы смотрите в
Что такое Zombie Process: Это процесс, который завершил выполнение, освободил память, но его запись осталась в таблице процессов, потому что "Родитель" (Parent Process) не прочитал его код завершения (exit code).
Как починить правильно: Нужно найти родителя и "пнуть" его (или убить).
1. Ищем зомби и их родителей:
Вывод: Z 1050 1051 [php-fpm] <defunct> (Где 1050 — PPID родителя, 1051 — PID зомби).
2. Решение: Отправьте сигнал родителю, чтобы он "прибрался за детьми":
Если не помогло — убивайте родителя:
#linux #processes #zombie #troubleshooting #kernel #theory
Вы смотрите в
top и видите: zombie: 5. Новички пытаются сделать kill -9 <PID_ZOMBIE> . Спойлер: Это бесполезно. Зомби нельзя убить, потому что он уже мертв.Что такое Zombie Process: Это процесс, который завершил выполнение, освободил память, но его запись осталась в таблице процессов, потому что "Родитель" (Parent Process) не прочитал его код завершения (exit code).
Как починить правильно: Нужно найти родителя и "пнуть" его (или убить).
1. Ищем зомби и их родителей:
ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
Вывод: Z 1050 1051 [php-fpm] <defunct> (Где 1050 — PPID родителя, 1051 — PID зомби).
2. Решение: Отправьте сигнал родителю, чтобы он "прибрался за детьми":
kill -SIGCHLD 1050
Если не помогло — убивайте родителя:
kill -9 1050. Зомби исчезнет вместе с ним (или его подберет процесс init).#linux #processes #zombie #troubleshooting #kernel #theory