繁体   English   中英

execv和execve之间的区别

[英]the difference between execv and execve

我试图在谷歌搜索,但并没有真正理解execvexecveexeclp之间的区别。

如果有人可以帮助我,我将不胜感激。

谢谢

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM