The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проверте "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Изначальное сообщение [ Отслеживать ]

"Проверте "  +/
Сообщение от АННОНАНИЕИМНУН on 16-Ноя-11, 09:12 

#include <stdio.h>
#include <signal.h>
#include <sys/wait.h>

void hup_handle() {

    kill(getpid(), SIGINT);
    return;
}

int main(void) {

    pid_t pid, work = 0;
    int ret;

    do {

        pid = fork();
        if (pid == 0) {
            signal(SIGHUP, hup_handle);
            
            while (1) {
                sleep(5);
            }
        } else if (pid < 0) {
            return (-1);
        } else {
            signal(SIGHUP, SIG_IGN);
            waitpid(pid, &ret, WUNTRACED);

            if (!WIFEXITED(ret))
                work = 1;
            else if (WIFSIGNALED(ret))
                work = 0;
            else if (WIFSTOPPED(ret))
                work = 1;
        }
    } while (work > 0);
    return (0);
}

Где косяк? :)

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Проверте "  +/
Сообщение от pavlinux (ok) on 16-Ноя-11, 09:19 
> Где косяк? :)

Я другой узел вяжу (с) Любовь и Голуби


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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




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

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