这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » linux进程之子进程创建之fork函数的使用

共2条 1/1 1 跳转至

linux进程之子进程创建之fork函数的使用

专家
2016-01-19 19:25:19     打赏

    在Linux中,我们常用fork()来进行子进程的创建,首先我们看下怎么创建子进程:

#include<sys/types.h>
#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>
int main()
  {
    pid_t pid;
    pid = fork();
    if(pid == 0)
	    printf("the child ID  = %d \n",getpid());//如果pid等于0,那么为子进程
    if(pid > 0)
	    printf("the father ID = %d \n",getpid());//如果pid大于0,为父进程
            printf("pid=%d \n",pid);//打印此时的pid
    if(pid < 0) printf("fork failed");//如果小于0,进程创建失败 
     return 0; } 

 如上例,在cygwin中运行,得到如下结果:

carl.ma@CNQDSX-000211 ~/2_fork
$ ./fork.exe
the father ID = 8904
pid=6300
the child ID  = 6300
pid=0
    通过结果看出,fork之后的函数进行了两次运行,子进程和父进程都打印出了pid号,请问这是什么原因呢?欢迎坛友踊跃发言。

 



助工
2016-01-20 10:48:48     打赏
2楼
沙发~

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]