综合:
建立两个子进程:
一个负责计算1-50000的素数
另外一个负责计算50001-100000
父进程负责存储
利用fork创建两个子进程的框架:
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
void main()
{
int id = 1;
while(1)
{
if(fork())
{
if(id>2) //循环创建两个子进程
{
break;
}
continue;
}
else
{
//子进程
while(1)
{
//子进程处理
}
exit(0); //子进程处理完就退出,父进程处理不会影响子进程
}
}

该博客介绍了如何在Linux环境下使用C语言创建两个子进程,分别计算1-50000和50001-100000的素数,并通过匿名管道进行通信。父进程接收子进程计算的结果并存储到文件'result.txt'中。程序中使用了'sched_yield()'函数来让出CPU,以及'SIGCHLD'信号处理子进程结束。
最低0.47元/天 解锁文章
514

被折叠的 条评论
为什么被折叠?



