一直以来都不怎么清楚exec函数族,现在就来总结一下
1 |
|
描述
exec()系列函数使用新的进程映像替换当前进程映像,工作方式没有什么差别, 只是参数传递的方式不同罢了.
说明
这6个函数可分为两大类: execl()系列 和 execv()系列.
‘l’ 是指把所有传递给程序的参数依次列(list)出来.
‘v’ 是指把所有参数放到容器(数组, vector)中再一次性传入.
不论是list出来还是vector them all, 参数的最后一个都必须为空指针((char*)0都行).
没有以p/e结尾的execl()和execv()使用绝对路径(path)执行第1个参数给定的文件.
‘p’ 是指第1个参数位于默认的环境变量PATH中, 仅用文件(file)指出文件名即可.
‘e’ 是指第1个参数位于给定的envp环境变量中., 用绝对路径(path)给出待执行文件.
注意arg0: 应该始终为待执行文件的文件名
示例
1 |
|