execv和execve的区别

4

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

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

谢谢。

2个回答

6

http://linux.die.net/man/3/execlp

使用execve()函数,您可以通过env参数指定新进程映像的环境。env参数是传递给execve()调用的最后一个参数。execv()调用无法指定env参数。最后,使用execclp,您可以指定文件名而不是路径,并使用PATH环境变量搜索可执行文件。


4
在这三个函数中,execv 是最简单的一个:它将所有参数放在一个向量中,但是你必须给出可执行文件的完整路径
现在,execve 添加了访问系统环境变量的可能性。例如,如果你定义了 MY_VAR=42,使用 execve,这个定义可以通过使用 getenv 的代码来查看。
最后,execlp 允许你只提供可执行文件的名称,它会在 PATH 变量中搜索可执行文件。

如果你不介意的话,我可以给你一些例子。 - Bhuvanesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接