linux进程创建

/****fork_test.c *****/
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
main()
{	
 pid_t pid;        /*此时仅有一个进程*/
 int n=4;
 pid=fork();       /*此时已经有两个进程在同时运行*/
 if(pid<0)
 printf("error in fork!\n");
else if(pid==0)   /*返回0表示子进程*/
     {
	n++;
        printf("I am the child process, my process ID is %d,n=%d\n",getpid(),n);
     }	
     else         /*返回大于0表示父进程*/
     {
	 n--;  
 	 printf("I am the parent process, my process ID is %d,n=%d\n",getpid(),n);
     }
}

语句“pid=fork()”,产生了两个进程,原来存在的父进程,新出现的子进程。

父子进程的区别除了PID不同fork函数的返回值也不相同。在父进程中,返回子进程Pid,子进程则返回0;









郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。