【发布时间】:2015-09-12 08:21:39
【问题描述】:
我正在尝试从一个父进程创建 4 个子进程,并让每个子进程执行不同的操作。
int main(void) {
int processes = 4;
int i;
for (i = 1; i <= processes; i++) {
if (fork() == 0) {
printf("pid: %d\n", getpid());
exit(0);
}
}
int status;
for (i = 1; i <= processes; i++)
wait(&status);
}
现在输出产生 PID:5847 PID:5846 PID:5845 PID:5844
为什么 pid 的顺序是递减而不是递增?我没有正确使用 fork() 来创建孩子吗?
【问题讨论】:
-
pid 可以按任何顺序排列 - 为什么您不这么认为?
标签: concurrency fork