Как вы узнаете зомби-процессы или мертвые в Linux — это процессы, которые были завершены, но все еще отображаются в таблице процессов из-за несоответствия родительского и дочернего процессов. Родительский процесс контролирует состояние дочерних процессов с помощью функции ждать(), и когда дочерний процесс завершается, эта функция сообщает родительскому процессу, что процесс должен быть завершен из памяти.
Однако, если родительский процесс не может вызвать такую функцию для любого из своих дочерних процессов, эти дочерние процессы останутся «живыми» и займут системные ресурсы, которые могут быть использованы другими процессами. влияние на производительность. Вот почему важно время от времени выполнять убийства, чтобы убить все эти зомби-процессы. Для этого можно выделить два способа: через GUI или через терминал:
через терминал
Чтобы убить зомби-процессы в Linux, вы должны сначала определить, что это за процессы, а затем убить их. Что ж, это можно сделать с помощью таких инструментов, как ps, top и т. д. Вы можете использовать тот, который вам нравится больше всего. Например, вот две команды, которые можно использовать для определить, есть ли зомби-процессы:
top ps axo stat,ppid,pid,comm | grep -w defunct
В первом случае это интерактивная команда, которая показывает вам процессы и покажет вам во второй строке (как вы можете видеть на изображении) количество процессов-зомби, которые есть прямо сейчас (на этом изображении 11). Кроме того, вы можете прокручивать список процессов, а в столбце S вы можете увидеть статус. Если он помечен буквой Z, то это зомби.
Во втором случае он просто покажет вам вывод запущенных вами зомби-процессов.
Важно и в том, и в другом случае обращать внимание на PID зомби-процессов, чтобы убить их с помощью:
sudo kill -9 PID
Debes заменить ПИД по номеру процесса в вашем случае. Кроме того, если это не сработает, вам, вероятно, нужны привилегии, поэтому вам придется использовать sudo перед командой...
Через графический интерфейс
Вы также можете сделать это с помощью графических инструментов, если у вас нет большой сноровки с терминалом и командами. Например, вы можете использовать системные мониторы, такие как Системный монитор или тому подобное. И здесь вы также должны сначала найти процессы-зомби, а затем убить их:
- Откройте системный монитор.
- Перейдите на вкладку «Процессы».
- Теперь, используя инструмент поиска (увеличительное стекло), найдите термин зомби.
- На процессах, появившихся в списке, щелкните по ним правой кнопкой мыши и нажмите «Убить».
Важно убедиться, что он отображается все процессы системы. Чтобы проверить это, перейдите в меню настроек системного монитора и посмотрите на отмеченные параметры.