博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Linux编程-exec函数族

Posted on 2023-03-17 09:54  乔55  阅读(5)  评论(0编辑  收藏  举报

exec话函数概念

1. 功能:
  1. // 能让父子进程实现不相干的操作,实现换核不换壳的功能
  2. // 能够替换进程地址空间中源代码.txt段,执行一个另外的程序无需创建额外的地址空间
  3. //  在一个运行的程序a,在a中调用另外 一个应用程序b
2. 返回值
  1. // 如果函数执行成功,不返回,后续进程都被path的应用程序替换掉了,返回值没有意义
  2. // 若执行失败,打印错误信息,退出子进程

ececl函数

int execl(const char *path, const char *arg, ...);
// 例子:execl("/bin/ls", "ls", "-lah", NULL)
// 一般用来执行自定义的应用程序,或者某此想要执行的命令
1. // path:要执行的程序的绝对路径
2. // 变参arg:要执行的程序所老古板参数
- 第1个arg参数:占位参数,随便写什么都可,建议直接需要执行的程序的名称
- 第2个arg参数:命令的选项参数
- 第3个参数:NULL

execlp函数

 int execlp(const char *file, const char *arg, ...);
// 例子:
// 一般执行系统自带的应用程序(执行PATH环境变量能搜索到的路径)
// 
1. // file:执行的命令的名字
- 第1个arg参数:占位参数
- 第2个arg参数:命令的选项参数
- 第3个arg参数:NULL
-