exec函数族

概述:一般来说,fork创建一个子进程后,父子进程会执行相同的程序(fork后面的代码);此时如果要让子进程执行其他的程序就需要用到exec函数了。当进程调用exec函数时,该进程的用户空间代码和数据会完全被新的进程替换,从新程序的启动例程(main函数或者叫启动伊始程序)开始执行。调用exec并不创建新的进程,故调用exec函数前后进程的ID不变化。

1、exec函数族有什么作用?  运行一个进程。

2、exec之所以成为exec函数族,因为有6个以exec开头的函数,分别是execl、execlp、execle、execv、execvp、execvpe。其中主要用到的是execl(list)和execlp(path)两个函数。

3、exec函数族的特性:

    ①exec函数一旦调用成功即执行新的程序,不返回。失败时返回-1,故可以在exec函数后面直接调用perror和exit函数,不用加if来判断。

    ②函数参数最后要加一个结尾哨兵NULL。

    ③函数名字含义:l(list:命令行参数列表-执行文件,绝对路径)、p(path:搜索file时使用的path-从path环境变量查找文件来执行)  、e(environment) 、v(vector)

    ④函数族其他函数底层都是调用execv来实现的。

4、execlp函数

    ①示例:

#include<stdio.h>
#include<unistd.h&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值