Памятка для начинающих охотников на вампиров: чтобы убить зомби - необходимо уничтожить его предка... данный постулат просветленных мудрецов Линукса пришел к нам из далеких глубин средневековья, когда хитроумные зачинатели Microsoft еще только обдумывали в тиши кабинетов будущие аспекты своего кривого поделия.
Почтовый клиент Thunderbird в бытность своего пятнадцатого релиза переживает явно нелучшие времена. Все чаще и чаще фразы из лексикона любительниц вампирских сериалов приходится использовать в контексте некогда действительно лучшего почтового клиента под Linux (да и не только, пожалуй, под Linux):
Процесс-зомби, короткая справка
Происходит от слова «зомби», что означает «живой мертвец» (оксюморон, англ. undead). Термин является яркой метафорой о том, что процесс «умер», но не «погребён».
Процесс при завершении освобождает все свои ресурсы (за исключением PID — идентификатора процесса) и становится «зомби» — пустой записью в таблице процессов, хранящей код завершения для родительского процесса.
Система уведомляет родительский процесс о завершении дочернего с помощью сигнала SIGCHLD. Предполагается, что после получения SIGCHLD он считает код возврата с помощью системного вызова wait(), после чего запись зомби будет удалена из списка процессов.
Если родительский процесс игнорирует SIGCHLD (а он игнорируется по умолчанию), то зомби остаются до его завершения.
Hubbitus только что излил свою горечь в этом контексте на страницах RedHat Bugzilla; кому интересно и кто в теме - гляньте. А нам с вами, простым смертным - вполне вероятно, пригодится вот такой вот способ убийства злосчастного зомби-процесса; напрямую сделать не получится, чтобы уничтожить зомби - необходимо убить его предка, во как хитроумно... поэтому убивать будем следующим экзотически-эзотерическим способом:
[aleksej@localhost ~]$ ps ax -o ppid,pid,state,command | grep thunderbird
1183 1475 S /usr/lib/thunderbird/thunderbird
1651 1707 S grep --color=auto thunderbird
[aleksej@localhost ~]$ ps ax -o ppid,pid,state,command | grep thunderbird | cut -d' ' -f1 | xargs -r -I{} kill {}
[aleksej@localhost ~]$ ps ax -o ppid,pid,state,command | grep thunderbird | grep -v grep | cut -d' ' -f1 | xargs -r -I{} kill {}
Короче говоря, как-то так, пробуйте. Кому известны более эффективные заклинания, наговоры и осиновые колы для убийства нечисти - отписываемся в комментах... и да пребудет с нами сила.