Назад к вопросам
Yadro
Middle+
8
Какие статусы у процесса в Linux? Что такое зомби-процесс?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Linux процесс может находиться в нескольких статусах, основными из которых являются:
- R (Running) — процесс выполняется или готов к выполнению;
- S (Sleeping) — процесс ожидает события или ресурса (спящий);
- D (Uninterruptible sleep) — процесс в состоянии сна, который нельзя прервать (обычно ожидание ввода-вывода);
- Z (Zombie) — процесс завершился, но его родитель ещё не прочитал статус завершения;
- T (Stopped) — процесс остановлен (например, сигналом SIGSTOP);
- I (Idle) — процесс без активности (в некоторых системах).
Зомби-процесс — это процесс, который завершил своё выполнение, но его родительский процесс ещё не вызвал wait() или аналогичную функцию для получения статуса завершения. В результате запись о процессе остаётся в таблице процессов, занимая ресурсы. Зомби-процессы не используют CPU, но могут накапливаться и приводить к исчерпанию лимита процессов.
Пример: если родитель не обрабатывает SIGCHLD и не вызывает wait(), дочерние процессы после завершения становятся зомби.