最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

全球快资讯:exec 函数族 - 进程替换

来源:博客园


(资料图)

exec 函数族基本概念

函数族的概念

函数名不同,实现的功能相同或相似的函数

作用

exec 函数族的作用是根据指定的文件名或者路径找到可执行文件,可在进程内部执行一个可执行文件,这将会取代原本调用进程的内容

返回值

exec 函数族的函数执行成功后不会返回【因为原进程内容被替换了】,失败时返回 -1 ,然后从原程序的调用点接着往下执行

工作原理

从虚拟地址空间角度来看,内核区中进程id等信息不变,而用户区中的代码段等数据将改成exec参数中的可执行程序的数据

具体函数

execl, execlp, execle, execv, execvp, execvpe

#include extern char **environ;int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execle(const char *path, const char *arg,..., char * const envp[]);int execv(const char *path, char *const argv[]);int execvp(const char *file, char *const argv[]);int execvpe(const char *file, char *const argv[],char *const envp[]);

常用函数解析

execl

  • int execl(const char *path, const char *arg, ...);

参数 :

  • path : 需要指定执行的文件路径或名称
  • arg : 字符串,表示执行指定可执行文件的参数(不止一个)【第一个参数一般没有作用,通常写执行的程序名称,从第二个参数开始将作为执行程序的参数列表,而最后要以 NULL 结尾】

关键词: