这些都是可以在C(和C ++)中使用的exec版本。
execl
execle
execlp
execv
execve
execvp
它们之间有什么区别?您怎么知道要使用哪个?
Answers:
不同之处在于:
L vs V:是否要将参数传递给执行程序
execl()
,execle()
,execlp()
和execlpe()
execv()
,execve()
,execvp()
,和execvpe()
当要发送给执行过程的参数数量可变时,数组格式很有用-就像事先不知道的那样,因此您不能在函数调用中放入固定数量的参数。
E:最后带有“ e”的版本可让您另外传递char *数组,这些数组是在执行程序启动之前添加到生成的进程环境中的一组字符串。确实,还有另一种传递参数的方式。
P:其中带有“ p”的版本使用环境变量PATH
搜索名为执行的可执行文件。如果没有可执行文件的版本不在当前工作目录中,则不带“ p”的版本要求在该可执行文件的文件名之前添加绝对或相对文件路径。
Opengroup是核心c / c ++函数的最佳通用参考文献之一。
exec *的文档在这里:http : //pubs.opengroup.org/onlinepubs/009695399/functions/environ.html