#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);
}Где косяк? :)
> Где косяк? :)Я другой узел вяжу (с) Любовь и Голуби