LINUX.ORG.RU

Не уверен, но попробуй покопать wait() или waitpid()

Supreme
()

Не уверен, но попробуй покопать wait() или waitpid()

Supreme
()

Либо waitpid(), либо шли сообщение от сына.

Fendor
()

pid_t wait(int *status);

RETURN VALUES
If wait() returns due to a stopped or terminated child process,
the process ID of the child is returned to the calling process.
Otherwise, a value of -1 is returned and errno is set to indicate
the error.

(c) man 2 wait

HEKTO
()

Я делал так, в основном цикле обрабатывается сигнал:

---------------------- // завершение потомка if (SigId==SIGCHLD) { int status=0; int pp = waitpid(-1,&status,WNOHANG); if (!WIFEXITED(status)) {

------------------ где в pp пид потомка естественно нужно указать демону что этот сигнал должен обработаться sigdelset( &SigSet, SIGCHLD ); // начало основной фунции примерно такое alarm(TimeUp*60); // в минутах sigfillset( &SigSet ); sigdelset( &SigSet, SIGTERM ); sigdelset( &SigSet, SIGIO ); sigdelset( &SigSet, SIGCHLD ); sigdelset( &SigSet, SIGHUP); sigdelset( &SigSet, SIGALRM ); sigdelset( &SigSet, SIGALRM ); while (SigId!=SIGTERM) { SigId=0; sigsuspend(&SigSet);

--------- SigId меняется в функции обработки сигнала

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.