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
と、親が最初に実行されます..なぜですか?