我有3个孩子每次以不同的顺序在不同的时间结束,但我不知道如何得到哪个结束
我有类似的东西,“赢家”,“第二”和“第三”,随机生成的时间,第一个结局是“赢家”,但我不知道它是谁
wait(&winner);
wait(&second);
wait(&third);
printf("======================================\n");
printf("----------Classification---------------\n");
printf("======================================\n");
printf("-First-.... Team %d , time: %d\n",/*1*/, WEXITSTATUS(winner));
printf("-Second-.... Team %d , time: %d\n",/*2*/, WEXITSTATUS(second));
printf("-Third-.... Team %d , time: %d\n",/*3*/, WEXITSTATUS(third));
答案 0 :(得分:7)
您应该阅读wait(2)的手册页。它返回等待进程的pid_t
。
如果您不想以阻止的方式等待,您可能还想使用waitpid
(W_NOHANG
}。
另外,请阅读signal(7)。你可以处理SIGCHLD
....
Advanced Linux Programming有几个与此问题相关的章节。