作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有人可以帮助我了解如何创建多个具有相同父进程的子进程来完成特定工作的“某些”部分吗?
例如,应用于子进程的外部排序算法;每个子进程对一部分数据进行排序,最后父进程合并它们..
编辑:也许我应该提到用循环 fork 多个子进程..
最佳答案
下面是如何 fork 10 个 child 并等待他们完成:
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/876605/
对于以下多子脚本: multi sub Screen_get_valid_string($prompt, $accept_empty_string, $max_length = 999) { retu
我正在开发 open-source, cross-platform具有统计支持的番茄计时器。 对于任务,我有一个像这样的树数据结构: class Task { String name;
我是一名优秀的程序员,十分优秀!