任务:
利用多进程的创建,实现父子进程+兄弟进程之间的报数
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
int ret;
//调用fork函数
ret = fork();//创建子进程
if(ret > 0)
{
//先进入父进程完成对应的功能
int ret1;
ret1 = fork();
if(ret1 == 0)
{
//子进程2完成对应的功能
int i;
for(i=3;i<20;i+=3)
{
sleep(2);
printf("child2 = %d\r\n",i);
sleep(1);
}
}
else if(ret1 > 0)
{
//父进程完成对应的功能
int i;
for(i=1;i<20;i+=3)
{
printf("i = %d\r\n",i);
sleep(3);
}
wait(NULL);
}
}
else if(ret == 0)
{
//子进程1完成的函数
int i;
for(i=2;i<20;i+=3)
{
sleep(1);//延时1秒,等待父进程完成
printf("chiled1 = %d\r\n",i);
sleep(2);//延时3个进程的总时间
}
}
exit(0);
}
养家糊口的小广告:
1.好好敲代码,来年当个小码农
2.《富豪赚钱秘籍》仅剩10份。如果想要购买,请先关注,然后私信博主。
3.《如何找女朋友》剩余30份。如果想要购买,请先关注,然后私信博主。
4.《MACD战法总结》剩余59份。如果想要购买,请先关注,然后私信博主。