gpt4 book ai didi

c - 多个子进程

转载 作者:行者123 更新时间:2023-11-30 16:05:46 25 4
gpt4 key购买 nike

有人可以帮助我了解如何创建具有相同父进程的多个子进程,以便完成特定工作的“某些”部分吗?

例如,应用于子进程的外部排序算法;每个子进程对一部分数据进行排序,最后父进程将它们合并..

编辑:也许我应该提到用循环 fork 多个子进程..

最佳答案

以下是如何 fork 10 个子级并等待他们完成:

pid_t pids[10];
int i;
int n = 10;

/* Start children. */
for (i = 0; i < n; ++i) {
if ((pids[i] = fork()) < 0) {
perror("fork");
abort();
} else if (pids[i] == 0) {
DoWorkInChild();
exit(0);
}
}

/* Wait for children to exit. */
int status;
pid_t pid;
while (n > 0) {
pid = wait(&status);
printf("Child with PID %ld exited with status 0x%x.\n", (long)pid, status);
--n; // TODO(pts): Remove pid from the pids array.
}

关于c - 多个子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60200810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com