Как найти причину зомби-процесса?

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

Когда процесс умирает в Linux, он не все сразу удаляется из памяти - его дескриптор процесса остается в памяти (дескриптор процесса занимает только небольшое количество памяти). Статус процесса становится EXIT_ZOMBIE, и родительский процесс уведомляется о том, что его дочерний процесс умер с сигналом SIGCHLD. Затем предполагается, что родительский процесс выполняет системный вызов wait(), чтобы прочитать состояние завершения мертвого процесса и другую информацию. Это позволяет родительскому процессу получать информацию из мертвого процесса. После вызова wait () процесс зомби полностью удаляется из памяти.

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

Источник: https://www.howtogeek.com/119815/htg-explains-what-is-a-zombie-process-on-linux/

Он присутствует после каждой перезагрузки или запуска.

andy      1235  0.0  0.0      0     0 ?        Z    07:25   0:00 [xbrlapi] <defunct>

Идентификатор процесса 1235.

Есть ли способ определить, какой процесс или программа вызывает его?

1 ответ

Решение

Из того, что, по-видимому, ваш top вывод: xbrlapi

Доступ к программному обеспечению для слепых с помощью дисплея Брайля - xbrlapi

Это, кажется, причина.

Другие вопросы по тегам