LINUX.ORG.RU
ФорумAdmin

не могу грохнуть процесс


0

0

Запустил обычный tar для архивации каталога. А он ушел в себя и ни одной командой убить его не могу. Пробовал уже и самое сильное средство kill -s 9 pid. Нифига. Причем сервер перегружать нельзя - висит очень важная БД со статистикой. Посоветуйте что-нибудь. Plz.


Если tar запускал со сжатием, то там будет дочерний процесс. Попробуй его вычислить в pstree, потом скажешь ему kill а потом kill для tar.

Vlad_Ts ★★★★★
()

Если он ушёл в себя по поводу ожидания ввода/вывода, то такой процесс _в_общем_случае_ убивается только перезагрузкой. :(

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

> такой процесс _в_общем_случае_ убивается только перезагрузкой. :(
Интересно, а разработчики как смотрят на это ? У них не появляется мыслей сделать так, чтоб kill -9 был действительно kill-ом ?

spirit ★★★★★
()
Ответ на: комментарий от spirit

> а разработчики как смотрят на это

А тут суть в том, что (грубо говоря) процесс дал запрос _ядру_ на ввод/вывод и сидит ждёт. Прибить внутриядерный вызов можно только вместе с ядром... Прибить же процесс тоже нельзя, иначе, когда ядро начнёт возвращать данные в никуда (буфер-то уже убит вместе с процессом) либо делать iret/ret (в досовой нотации asm) в никуда (по адресу старой точки возврата уже неизвестно что) гарантированно будет General Protect Fault, оно же Kernel Panic.

Посему и решили, что лучше пусть зомби болтается, чем ядро будет падать как винды. ;-)

Что-то в таком духе.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

> Прибить внутриядерный вызов можно только вместе с ядром...
Так я под "разработчиками" и имел в виду разработчиков ядра :-)

> когда ядро начнёт возвращать данные в никуда
А разве в нем не содержится таблица процессов, разве оно не знает какой процесс умер, а какой нет, т.е. какому нужно еще что-то возвращать, а какому нет ?

> чем ядро будет падать как винды
Так ядро и сейчас (в подобных случаях) похоже работает "как винды": тупо ждем и все... Я конечно может чего-то не понимаю, но разве так сложно отслеживать нужен запрос кому-то или нет ? И если нет, то забить на этом запросе.

spirit ★★★★★
()
Ответ на: комментарий от spirit

>но разве так сложно отслеживать нужен запрос кому-то или нет ? И если нет, то забить на этом запросе.

Возможно я ошибаюсь, но в релизах, посвящённых ядру 2.6 вроде что-то писали об этом? Будто-бы новый планировщик процессов научился добивать зомбей? Или я что-то перепутал?

bsh ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.