Linux进程之API(上)(fork、vfork、wait、waitpid)

目录

一、fork函数

二、进程创建发生了什么事?

三、创建子进程的一般目的

四、vfork函数

五、进程退出

六、等待子进程退出 wait()、waitpid()

七、 什么是孤儿进程?


一、fork函数

        pid_t fork(void);

        fork成功调用执行,返回两次

        返回值为0,为子进程

        返回值为非负数,为父进程

        调用失败返回-1

fork函数会创建一个子进程来执行代码内容。

第一种代码示例:

#include<stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main ()
{

        pid_t pid;
        pid=getpid();
        printf("before pid is %d\n",pid);//输出fork前pid
        pid_t pid2;//定义pid2
        fork();//使用fork生成子进程

        pid2=getpid();//获取当前pid号
        printf("after pid2 is %d\n",pid2);//输出当前pid号


        if(pid==pid2){//如果为父进程则输出父进程pid号
                printf("this is father %d\n",pid2);

        }else{//如果为子进程则输出子进程pid号
                printf("this is child %d\n",pid2);

        }
        return 0;
}

 可见,运行不仅执行了父进程同时也执行了子进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值