SYSTEM ATLASЗагрузка материала

Zombie Process

Zombie Process

Устаревший или потерявший координацию процесс продолжает выполнять действия.

Простыми словами

Например, команда замечает симптомы «Zombie Process», но лечит каждый случай отдельно. Более устойчивый вариант — команда устраняет механизм «Zombie Process» через изменение границ, стимулов или ответственности. Поэтому поведение при сбое задают заранее: система должна ограничить ущерб, освободить ресурсы и дать оператору понятный сигнал.

Пример от @Vibeclakr

Пример при разработке

Сервер запускает конвертер изображений, но не вызывает wait после завершения. Процессы копятся как zombie, пока родитель не соберёт их статусы.

Это редакционный пример применения, а не часть определения или доказательство концепции.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Исправлять отдельные проявления «Zombie Process» по одному, не проверяя, нет ли у них общей причины.

Системный подход

Если «Zombie Process» действительно объясняет проблему, менять не отдельный симптом, а сам механизм — например границы, стимулы или распределение ответственности.

Ограничения

«Zombie Process» объясняет только часть происходящего в области «Надежность и SRE». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

The Open Group. wait, waitpid — wait for a process to change state. 2024. POSIX.1-2024.

Первоисточник