The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Проверте , !*! АННОНАНИЕИМНУН, 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);
}

Где косяк? :)




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

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