execve(执行文件)在
父进程中
fork一个
子进程,在子进程中调用exec函数启动新的程序。exec函数一共有六个,其中execve为内核级
系统调用,其他(
execl,
execle,
execlp,execv,
execvp)都是调用execve的
库函数。
execve( )用来执行参数filename
字符串所代表的文件路径,第二个参数是利用
指针数组来传递给执行文件,并且需要以空指针(NULL)结束,最后一个参数则为传递给执行文件的新环境变量数组。
如果执行成功则函数不会返回,执行失败则直接返回-1,失败原因存于
errno 中。
1. 欲执行的文件不具有用户可执行的权限。
ENOTDIR 参数filename字符串所包含的
目录路径并非有效目录
-rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/
passwd