main.c

来自「一个多进程通信的演示」· C语言 代码 · 共 42 行

C
42
字号

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
main()
{	pid_t p1,p2,p3;
	pid_t t1,t2,t3;
	int status;

	if ((p1=fork()) == 0)       //执行子进程p1的代码
      	{     		puts("proc1 created\n");
	      execv("./proc1",NULL);
	}
   	else       //执行父进程的代码
        {                
	  	if ((p2=fork())==0)    //执行子进程p2的代码
       		{	   			puts("proc2 created\n");
	        	execv("./proc2",NULL); 	 	}				else		{
			if ((p2=fork())==0)    //执行子进程p2的代码
       			{	   				puts("proc3 created\n");
	        		execv("./proc3",NULL); 	 		}			else   //执行父进程的代码	
      			{   				//等待子进程的终止				t1=waitpid(p1,&status,0);         
	        		t2=waitpid(p2,&status,0);				t3=waitpid(p3,&status,0);
	    		}		}      		
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?