网站类产品怎么做竞品分析/优化课程体系
1.
#include<stdio.h>
main()
{
int p1,p2;
//创建新进程成功后,系统中出现两个基本完全相同的进程,这两个进程执行没有固定的先后顺序,哪个进程先执行要看系统的进程调度策略。
if(p1=fork())//fork处代码开始复制并同时执行,在父进程返回pid,子进程返回0
putchar('a');//父进程
else
{
if(p2=fork())
putchar('b');//子进程中的父进程
else putchar('c');//子进程中的子进程
}
}
2.
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
int main()
{
pid_t p1,p2,i,pr;
if(p1=fork())
{
for(i=0;i<10;i++)
{
//getppid()获取父进程pid,getpid()获取当前进程pid
printf("(1) Father -> father pid : %d,mypid: %d \n",getppid(),getpid());
sleep(1);
}
pr=wait(NULL);
printf("I catch a son process with pid of %d\n",pr);
}
else
{
if(p2=fork())
{
for(i=0;i<5;i++)
{
printf("(2) Son -> father pid : %d,mypid: %d \n",getppid(),getpid());
sleep(1);
}
pr=wait(NULL);
printf("I catch a grandson process with pid of %d\n",pr);
}
else
{
for(i=0;i<5;i++)
{
printf("(3) Grandson -> father pid : %d,mypid: %d \n",getppid(),getpid());
sleep(1);
if(i==2){
exit(0);
}
}
}
}
return 0;
}