Sobes.tech
Назад к вопросам
Middle+
8

Какие статусы у процесса в Linux? Что такое зомби-процесс?

Компании, где спрашивали
YadroYadro

Ответ от нейросети

sobes.tech AI

В Linux процесс может находиться в нескольких статусах, основными из которых являются:

  • R (Running) — процесс выполняется или готов к выполнению;
  • S (Sleeping) — процесс ожидает события или ресурса (спящий);
  • D (Uninterruptible sleep) — процесс в состоянии сна, который нельзя прервать (обычно ожидание ввода-вывода);
  • Z (Zombie) — процесс завершился, но его родитель ещё не прочитал статус завершения;
  • T (Stopped) — процесс остановлен (например, сигналом SIGSTOP);
  • I (Idle) — процесс без активности (в некоторых системах).

Зомби-процесс — это процесс, который завершил своё выполнение, но его родительский процесс ещё не вызвал wait() или аналогичную функцию для получения статуса завершения. В результате запись о процессе остаётся в таблице процессов, занимая ресурсы. Зомби-процессы не используют CPU, но могут накапливаться и приводить к исчерпанию лимита процессов.

Пример: если родитель не обрабатывает SIGCHLD и не вызывает wait(), дочерние процессы после завершения становятся зомби.