Не удается очистить процесс зомби, чей родитель является init

У меня есть процесс зомби:

$ ps aux | grep Zl
root      6641  122  0.0  0 0 ? Zl   08:57 371:10 [ovs_dpdk] <defunct>

И его родитель выглядит init

$ pstree
init─┬─acpid
     ├─atd
     ├─cron
     ├─dbus-daemon
     ├─dnsmasq
     ├─6*[getty]
     ├─irqbalance
     ├─libvirtd───10*[{libvirtd}]
     ├─ovs_dpdk───{ovs_dpdk}               <==== here
     ├─rpc.idmapd

Но, убить -9 не убивает его...

sudo kill -9 6641

Я в тупике, любая помощь?

3 ответа

Вы не можете убить зомби, потому что он уже мертв.:-)

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

Википедия (кто еще?) Отлично обсуждает это.

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

kill -s SIGCHLD PPID

где PPID - это идентификатор родительского процесса. ht the xmodulo люди

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

Зомби нельзя убрать командой "Убить". Если это дочерний процесс процесса Init (pid = 1), он должен автоматически очиститься.

ИЛИ Поскольку процесс инициализации не выполняет очистку, просто перезагрузите систему.

если зомби были сгенерированы снова, это может быть ошибка кода. Вам нужно изучить проблему с кодом: поскольку родитель не ждет, пока ребенок получит код возврата.

В качестве справки здесь приводятся различные примеры. Создание и очистка Zombies n C могут быть полезны.

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

Вы не можете убивать зомби, так как они уже мертвы. Но если у вас слишком много зомби, убейте родительский процесс или перезапустите службу.

Вы можете убить зомби-процесс, используя PID, полученный любой из вышеперечисленных команд. Например, процесс kill zombie с PID 4104: kill -9 4104

ссылка - http://www.cyberciti.biz/tips/killing-zombie-process.html

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