[英]the difference between execv and execve
我试图在谷歌搜索,但并没有真正理解execv
, execve
, execlp
之间的区别。
如果有人可以帮助我,我将不胜感激。
谢谢
http://linux.die.net/man/3/execlp
使用execve(),您可以使用env参数为新过程映像指定环境。 env参数是传递给execve()调用的最后一个参数。 execv()调用不能指定env参数。 最后,使用execclp,您指定文件名而不是路径,并且PATH环境变量用于搜索可执行文件。
在这三个函数中, execv
是最简单的函数:它在向量中包含所有参数,但是您必须提供可执行文件的确切路径。
现在, execve
增加了访问系统环境的可能性:在那里定义的变量。 例如,如果您定义MY_VAR=42
,则使用execve
可以使用getenv
在代码中看到此定义。
最后, execlp
允许您仅提供可执行文件的名称,它将在PATH
变量中进行搜索。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.