Назад | Перейти на главную страницу

Ubuntu при входе в систему отображает «Есть 1 зомби-процесс»

Это сообщение появляется, когда я вхожу в свою машину:

There is 1 zombie process.

Не о чем беспокоиться:

Зомби

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

Когда процесс завершается, вся память и связанные с ним ресурсы освобождаются, чтобы их могли использовать другие процессы. Однако запись процесса в таблице процессов остается. Родителю отправляется сигнал SIGCHLD, указывающий, что ребенок умер; обработчик этого сигнала обычно выполняет системный вызов ожидания, который считывает статус выхода и удаляет зомби. После этого можно повторно использовать идентификатор процесса зомби и запись в таблице процессов. Однако, если родитель игнорирует SIGCHLD, зомби останется в таблице процессов. В некоторых ситуациях это может быть желательно, например, если родительский процесс создает другой дочерний процесс, он гарантирует, что ему не будет назначен тот же идентификатор процесса.

Источник : http://wiki.answers.com/Q/What_is_Zombie_Process_and_Orphan_Process

Я смог завершить процесс зомби после этого урока - https://vitux.com/how-to-kill-zombie-processes-in-ubuntu-18-04/.

В принципе:

1) Определите зомби-процесс:

ps axo stat,ppid,pid,comm | grep -w defunct

2) Убейте родительский процесс:

sudo kill -9 <parent_process_number>

Пример:

Как объясняется в принятом ответе, у вас есть процесс, который завершил выполнение, но все еще находится в таблице процессов: https://serverfault.com/a/390216/48449

Это не должно причинить вреда, если это всего лишь один процесс, но все же не должно происходить. Если их слишком много, и вы не перезагружаете или не перезапускаете вызывающий родительский процесс, который их производит, вы можете достичь максимального количества разрешенных процессов и вызвать серьезные проблемы.

Чтобы узнать, уместно ли беспокойство и к какому другому процессу принадлежит зомби, это работает для меня:

ps -elf --forest | grep -C5 '<[d]efunct>'

Увеличьте количество строк контекста, если необходимо узнать о родительском процессе, в идеале исправить этот процесс, чтобы он «пожинал» свои завершенные подпроцессы.