SIGKILL (Работает не всегда)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
Ivanhoe
Сообщения: 136

SIGKILL

Сообщение Ivanhoe »

В теории сигнал 9 (KILL) должен вызывать немедленное безусловное уничтожение получившего его процесса. Беда в том, что он работает не всегда.

Только что у меня завис kopete. Я попробовал убить его с помощью опции "Убить" окна в IceWM. Окно закрылось, но процесс остался, что явно показал ps -e. Тогда я сделал сначала killall kopete, но бесполезно. Затем
# kill -9 <PID>, и все равно, kopete продолжать висеть в списке, что показывали и top и ps. Многократное повторение kill ни к чему не привело. В итоге спасла перезагрузка.

Но возникает тогда вопрос - как вообще может быть так, чтобы процесс игнорировал SIGKILL? Поясните, плиз.
Все погибнут при гравитационном коллапсе, Маша...
---
Затрать 5 минут в неделю. Сделай OpenOffice.org лучше http://community.i-rs.ru/index.php/topic,3241.0.html
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: SIGKILL

Сообщение Uncle_Theodore »

* Zombie processes cannot be killed since they are already dead and waiting for their parent processes to reap them.

* Processes that are in the blocked state will not die until they wake up again.

* An uninterruptibly sleeping process may not terminate (and free its resources) even when sent SIGKILL. This is one of the few cases in which a UNIX system may have to be rebooted to solve a temporary software problem.

http://en.wikipedia.org/wiki/SIGKILL
Спасибо сказали:
Аватара пользователя
anonymous.ru
Сообщения: 614

Re: SIGKILL

Сообщение anonymous.ru »

Ситуация такая:
Ядро переводит процесс в непрерываемый режим в момент когда от имени процесса генерируется запрос к устройству на котором находится файловая система :) и до получения ответа от этого устройства. Обычно периуд между запросом и ответом устройства невелик (особенно с точки зрения человека), НО если устройство получило запрос и не ответило (например вообще отвалилось), то процесс так и остается висеть в этом режиме в ожидании устройства.
Вопрос: где находились файлы с которыми работал kopete?

Ну и конечно простой вариант, что процесс уже завершился и стал Зомби, тогда он уже мертв и убить его нельзя. (Гы, зато можно убить его отца)

примерно так :)
:drinks:
Спасибо сказали:
Аватара пользователя
Ivanhoe
Сообщения: 136

Re: SIGKILL

Сообщение Ivanhoe »

Спасибо, понятно. Значит только ребут?
Все погибнут при гравитационном коллапсе, Маша...
---
Затрать 5 минут в неделю. Сделай OpenOffice.org лучше http://community.i-rs.ru/index.php/topic,3241.0.html
Спасибо сказали: