The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Удаление zombie процессов в Solaris"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Удаление zombie процессов в Solaris"  +/
Сообщение от auto_tips (??) on 30-Сен-08, 12:54 
Нередко из-за отсутствия обработчика сигнала SIGCHLD в родительском процессе,
после завершения дочерней программы, остаются "<defunct>" или zombie процессы.
Zombie процессы не занимают системные ресурсы, кроме записи в таблице процессов,
что может вызвать ее переполнение и как следствие блокировку запуска новых процессов,
при большой интенсивности появления zombie. Zombie исчезают после завершения работы
родительского процесса, но записи в таблице также можно очистить принудительным путем.

Получаем список zombie процессов:

    ps -ecl |grep "Z"
    F S  UID  PID  PPID  CLS PRI  ADDR  SZ  WCHAN TTY  TIME CMD
    0 Z  100 27841 27840   -   0     -   0  -     ?    0:00 <defunct>

"kill" и "kill -9" в случае zombie использовать бесполезно. В Solaris для эмуляции вызова wait()
для чтения кода возврата из таблицы процессов существует утилита preap:

    preap 27841
    27841: exited with status 0


URL: http://www.c0t0d0s0.org/archives/4778-Less-known-Solaris-fea...
Обсуждается: https://www.opennet.ru/tips/info/1750.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Удаление zombie процессов в Solaris"  +/
Сообщение от andr.mobi (??) on 30-Сен-08, 12:54 
Круто.
А такое решение аргументировано чем-то или просто было лень автоматизировать эту процедуру, что во всех юниксах уже давно сделано?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Удаление zombie процессов в Solaris"  +/
Сообщение от Аноним (??) on 30-Сен-08, 13:02 
>Круто.
>А такое решение аргументировано чем-то или просто было лень автоматизировать эту процедуру,
>что во всех юниксах уже давно сделано?

простите, ЧТО в юниксах автоматизировано?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Удаление zombie процессов в Solaris"  +/
Сообщение от nanodaemon on 30-Сен-08, 17:27 
на preap модно вешать симлинк shotgun :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Удаление zombie процессов в Solaris"  +/
Сообщение от Аноним (??) on 30-Сен-08, 19:27 
>>Круто.
>>А такое решение аргументировано чем-то или просто было лень автоматизировать эту процедуру,
>>что во всех юниксах уже давно сделано?
>
>простите, ЧТО в юниксах автоматизировано?

убийство зомби по крону, наверно ;)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Удаление zombie процессов в Solaris"  +/
Сообщение от Анонизмус on 01-Окт-08, 00:53 
>>>Круто.
>>>А такое решение аргументировано чем-то или просто было лень автоматизировать эту процедуру,
>>>что во всех юниксах уже давно сделано?
>>
>>простите, ЧТО в юниксах автоматизировано?
>
>убийство зомби по крону, наверно ;)

а... ну возможно... нам, гагарам, недоступно...


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Это нельзя автоматизировать по смыслу системы!"  +/
Сообщение от Дмитрий Ю. Карпов on 01-Окт-08, 11:03 
Зомби-процессы остаются неуничтоженными потому, что их родитель может затребовать код завершения ребёнка. В данном случае админу предоставлена возможность уничтожать зомби досрочно.

Ещё зомби уничтожаются при завершении их родителя - в этом случае детей погибшего усыновляет init, а он старательно чистит зомби.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Удаление zombie процессов в Solaris"  +/
Сообщение от Аноним (??) on 01-Окт-08, 14:01 
Ваш линукс - это не юникс.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Удаление zombie процессов в Solaris"  +/
Сообщение от User294 (??) on 01-Окт-08, 23:09 
>Ваш линукс - это не юникс.

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

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Раздел полезных советов: Удаление zombie процессов в Solaris"  +/
Сообщение от Hubbitus (ok) on 02-Окт-08, 12:49 
Очень полезно.
А как в Линуксе такое же делается, кто подскажет?
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Удаление zombie процессов в Solaris"  +/
Сообщение от andr.mobi (??) on 02-Окт-08, 13:22 

>>простите, ЧТО в юниксах автоматизировано?

пардон, невнимательно прочитал новость. я думал в солярке зомби иниту не отдаётся после завершения родителя. тут другой случай

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Раздел полезных советов: Удаление zombie процессов в Solaris"  +/
Сообщение от Sphynkx on 04-Окт-08, 01:42 
>Очень полезно.
>А как в Линуксе такое же делается, кто подскажет?

http://ru.wikibooks.org/wiki/LOR-FAQ-Admin#.D0.9A.D0.B0.D0.B...
"
В состоянии "зомби" процесс не имеет образа в RAM, но информация о нём сохраняется в таблице процессов. Он не поедает ресурсы, но теоретически могут кончится PID'ы.

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

Увидеть родителя можно в столбце PPID после команды

ps -axl

Подробнее: http://cad.narod.ru/methods/os_unix/unibas/process.html
"

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Раздел полезных советов: Удаление zombie процессов в Solaris"  +/
Сообщение от User294 (ok) on 04-Окт-08, 02:27 
>>Очень полезно.
>>А как в Линуксе такое же делается, кто подскажет?

...
>Подробнее: http://cad.narod.ru/methods/os_unix/unibas/process.html

Стоит только добавить что если интересует как оно в *линуксе* - эту доку лучше не читать.Потому что там про юниксы.И совпадает с действительностью соответственно лишь местами.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "Раздел полезных советов: Удаление zombie процессов в Solaris"  +/
Сообщение от Hubbitus (ok) on 04-Окт-08, 03:51 
>>Очень полезно.
>>А как в Линуксе такое же делается, кто подскажет?
>
>http://ru.wikibooks.org/wiki/LOR-FAQ-Admin#.D0.9A.D0.B0.D0.B...
> ...

Не, ну я же не совсем дурак, это я так все прекрасно знаю.
Я спрашиваю как сделать такой финт ушами как в Солрке, и все-таки убить зомби, без убийства родителя...

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Раздел полезных советов: Удаление zombie процессов в Solaris"  +/
Сообщение от Sphynkx email on 04-Окт-08, 05:41 
>знаю.
>Я спрашиваю как сделать такой финт ушами как в Солрке, и все-таки
>убить зомби, без убийства родителя...

сказать родителю:
killall -s CHLD
??

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

15. "Раздел полезных советов: Удаление zombie процессов в Solaris"  +/
Сообщение от Hubbitus (ok) on 04-Окт-08, 14:31 
>сказать родителю:
>killall -s CHLD
>??

Неа, не помогает, ни
kill -s SIGCHLD pid
ни
kill -s CHLD pid

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

16. "Удаление zombie процессов в Solaris"  +/
Сообщение от Arcad email on 05-Сен-09, 00:30 
Все бональней!
РОДИТЕЛЯ В РЕСТАРЕ

$ sudo /etc/init.d/ssh restart

и все зомби от sshd как рукой снимет.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

17. "."  +/
Сообщение от ляляляшкакакая on 27-Окт-10, 22:27 
> Все бональней!
> РОДИТЕЛЯ В РЕСТАРЕ
> $ sudo /etc/init.d/ssh restart
> и все зомби от sshd как рукой снимет.

Кэп?

> Неа, не помогает, ни
> kill -s SIGCHLD pid
> ни
> kill -s CHLD pid

Всё верно...система уведомила процесс-родитель ещё при завершении процесса, превратившегося в зомби. Проблема в том, что некоторые процессы SIGCHLD попросту игнорируют.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру