Появляются zombie mpg123 процессы в некоторых количествах, которые не убиваются kill -9 $mpg123_PID, так как родительский (parent) процесс, то есть процесс asterisk'a, еще работает. Вышеуказанные гадины кушают по-немногу память сервера (ладно хоть что не процессорное время) и живут в ней, пока не будет перезапущен asterisk.
Вопрос: 1) кто сталкивался с такими zombie'ками?
2) как с ними боролся?
3) как с этим бороться правильно, т.е. на корню разрешить проблему?
Ссылки по теме:
http://www.erlenstar.demon.co.uk/unix/faq_8.html#SEC83
http://www.opennet.ru/base/dev/wait_zombie.txt.html
http://www.opennet.ru/base/dev/chldfork.txt.html
1) мы
2) примитивно
3) I da know.
ps -awxl | grep mpg123
далее парсишь смотришь и киляешь
ps axostat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm | grep mpg123
далее если CPU более скольких то, то киляй
относительная панацея... лечить никак
| Romik писал(а): |
| процессы в некоторых количествах, которые не убиваются kill -9 $mpg123_PID, так как родительский (parent) процесс, то есть процесс asterisk'a, еще работает. |
PS: как в рекламе "переходи на лучшее"
Убийство зомбиков:
| Код: |
| #!/bin/bash ## Romik 2005© :) # This is under the terms of GNU GENERAL PUBLIC LICENSE # See http://www.gnu.org/licenses/gpl.txt for details # for pid in $(ps aux | grep defunct | grep -v grep | awk '{print $2}') do echo "Killing zombie with PID $pid" kill -9 $pid done exit $? |
| Chris писал(а): |
| Ну... Переходите на FreeBSD PS: как в рекламе "переходи на лучшее" |
| Chris писал(а): |
| Ну... Переходите на FreeBSD PS: как в рекламе "переходи на лучшее" |
killall -9 mpg123
убивает всех зомби махом за раз
зы: можно и в cron запихать.
| . писал(а): |
| кстати... killall -9 mpg123 убивает всех зомби махом за раз зы: можно и в cron запихать. |
________________________________________________________
| Chris писал(а): |
| Ну... Переходите на FreeBSD PS: как в рекламе "переходи на лучшее" |
Переходите на Виндоуз! Там все процессы зомби!
"Переходи к зомбям!"
| Гость писал(а): |
| Ты это... в сигналах то разберись... ибо убьет _все_ процессы mpg123... и не только зомби... |
Гость, тоже посмотри еще раз про сигналы. При работающем parent-процессе, zombie child-процесс откликается только на сигналы, передаваемые parent'ом. Так что killall -9 mpg123 для зомбиков при работающем Asterisk'e не сработает.
кароче делаем скрипт и суем в крон на ночь когда нет нагрузки или она очень маленькая. (еще можно извратиться и отлавливать момент когда нет ни одного звонка)
ну и делать типа
service asterisk stop
killall -9 mpg123
service asterisk start
проверить что все стартануло (причин для обратного мизер но всетки)
если не стартануло - шлем 10 sms на мобилу\пейджер.
| Romik писал(а): |
| Так что killall -9 mpg123 для зомбиков при работающем Asterisk'e не сработает. |
Ты попробуй что-ли...
И зомби тут не причем...
________________________________________________________
| anest писал(а): |
| нет нагрузки или она очень маленькая |
Далее, я мудак или у меня нет таких проблем с mpg123?
(Точнее, один раз видел, когда не сам собирал mpg123...)
| anest писал(а): |
| . (еще можно извратиться и отлавливать момент когда нет ни одного звонка) |
| anest писал(а): |
| service asterisk stop |
Ну нет у людей команды service, не POSIX это...
| anest писал(а): |
| если не стартануло - шлем 10 sms на мобилу\пейджер. |
| Код: |
| [root@pbx2 ~]# ps aux | grep asterisk | grep -v grep | wc -l 30 [root@pbx2 ~]# ps aux | grep mpg123 | grep defunct | wc -l 267 [root@pbx2 ~]# killall -9 mpg123 You have new mail in /var/spool/mail/root [root@pbx2 ~]# ps aux | grep mpg123 | grep defunct | wc -l 265 [root@pbx2 ~] |
| Код: |
| USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND ...skipped... root 28167 0.0 0.0 0 0 ? Z Sep26 0:12 [mpg123] |
Последний раз редактировалось: Romik (Сб Окт 29, 2005 02:03)
А про работающие процессы mpg123 Вы как-то умолчали...
И что у Вас за система такая? Must have for testing.
| Romik писал(а): |
| RH AS 4 |