Sign in

Зарегистрируйтесь, чтобы стать полноправным участником сообщества Masterpro.ws.

Вампирская сага. Убийство зомби Thunderbird

Эпиграф: Thunderbird — это бесплатная почтовая программа, лёгкая в установке и настройке — и имеющая множество великолепных возможностей!

Памятка для начинающих охотников на вампиров: чтобы убить зомби - необходимо уничтожить его предка... данный постулат просветленных мудрецов Линукса пришел к нам из далеких глубин средневековья, когда хитроумные зачинатели Microsoft еще только обдумывали в тиши кабинетов будущие аспекты своего кривого поделия.

Почтовый клиент Thunderbird в бытность своего пятнадцатого релиза переживает явно нелучшие времена. Все чаще и чаще фразы из лексикона любительниц вампирских сериалов приходится использовать в контексте некогда действительно лучшего почтового клиента под Linux (да и не только, пожалуй, под Linux):

Зомби-процесс. Thunderbird v.15.0

Процесс-зомби, короткая справка
Происходит от слова «зомби», что означает «живой мертвец» (оксюморон, англ. 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 {}

 

Короче говоря, как-то так, пробуйте. Кому известны более эффективные заклинания, наговоры и осиновые колы для убийства нечисти - отписываемся в комментах... и да пребудет с нами сила. 

1 Комментарий

  • Protas

    написал Protas

    Понедельник, 10 сентября 2012 21:31

    Приветствую!
    С недавнего времени в твиттере ваши темы вижу, вот заглянул на огонек)
    Зомби они особенной беды не приносят, систему не вешают, память не кушают, единственное конечно могут мешать запустить приложение повторно...
    Если уж совсем не в моготу, то убиваю так:
    $ps -lax //нахожу пид процесса, хотя он есть и системном мониторе, вплоть до родителя зомби, затем
    $kill -SIGKILL 1234 -где цифы это пид вашего найденного процесса зомби, и все)

Оставить комментарий

Добавьте ваш комментарий