一、思维导图

二、 创建一个进程扇
代码:
#include <my_head.h>
int main(int argc, const char *argv[])
{
for(int i=1;i<5;i++)
{
pid_t pid=fork();
if(pid<0)
{
ERRORLOG("fork failure");
exit(1);
}
else if(pid==0) //子进程
{
printf("子进程%d\n",i);
printf("__LINE__=%d pid=%d ppid=%d \n",__LINE__,getpid(),getppid());
exit(0);
}
else //父进程
{
int status;
wait(&status);
}
}
while(1);
return 0;
}
运行结果:

三、创建一个进程链
代码:
#include <my_head.h>
int main(int argc, const char *argv[])
{
for(int i=1;i<5;i++)
{
pid_t pid=fork();
if(pid<0)
{
printf("进程创建失败\n");
exit(1);
}
else if(pid>0) //父进程i
{
printf("父进程%d\n",i);
printf("pid=%d ppid=%d \n",getpid(),getppid());
int status;
wait(&status);
exit(0);
}
else if(pid==0) //子进程i
{
printf("子进程%d\n",i);
printf("pid=%d ppid=%d \n",getpid(),getppid());
if(i==4)
{
printf("进程链终止\n");
break;
}
}
}
return 0;
}
运行结果:

四、解读代码

程序执行结果为
”info1 from child process_2“
"info1 from child process_1"
"info1 from parent process"
五、实现文件的拷贝,父进程拷贝前一部分,子进程拷贝后一部分
补

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



