URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6951
[ Назад ]

Исходное сообщение
"Накапливаются зомби"

Отправлено fa , 18-Ноя-07 04:05 
Всем привет. Пытаюсь прибить зомби-процессы с помощью обработчика сигнала SIGCHLD

struct sigaction sigchld_action,sigkill_action;

void cleanup_child(int signal_num) {
        wait(NULL);
}

int init_cleanup_signals() {
        memset(&sigchld_action, 0, sizeof(sigchld_action));
        sigchld_action.sa_handler = &cleanup_child;
        sigaction(SIGCHLD, &sigchld_action, NULL);
        return 0;
}

Работает, но не всегда :-( В результате в процессе работы демона накапливаются зомби.
Может, кто подскажет, что делаю не так? Как отследить, в чем проблема?
Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Накапливаются зомби"
Отправлено Arifolth , 19-Ноя-07 10:50 
>[оверквотинг удален]
>        sigchld_action.sa_handler = &cleanup_child;
>        sigaction(SIGCHLD, &sigchld_action, NULL);
>        return 0;
>}
>
>Работает, но не всегда :-( В результате в процессе работы демона накапливаются
>зомби.
>Может, кто подскажет, что делаю не так? Как отследить, в чем проблема?
>
>Заранее спасибо.

man wait
man waitpid