Мне нужно правильно обработать SIGCHLD
. Как я могу использовать его с моим существующим кодом? в настоящий момент я не могу дождаться дочернего процесса, если не использую 0
вместо WNOHANG | WUNTRACED
.
status = 0;
pid_t child, endID;
if(amp == 1)
signal( SIGCHLD, SIG_IGN );
child = fork();
if (child < 0) {
perror("fork() error\n");
exit(EXIT_FAILURE);
} else if (child == 0) {
// do sth here
perror("error\n");
} else {
//sleep(1)
Если я удалю sleep
, то родительский элемент будет выполнен первым .. почему?