相关函数:execle, execlp, execv, execve, execvp
1.表头文件:
#include
2.函数定义:
int execl(const char *path, const char *arg, ...);
execl()用来执行参数path字符串所代表的文件路径, 接下来的参数代表执行该文件时传递的argv[0],argv[1].....是后一个参数必须用空指针NULL作结束
返回值:成功则不返回值, 失败返回-1, 失败原因存于errno中
3.函数说明
exec()函数之间的主要区别就在于命令行参数如何传给新程序. execl系列将argv中的没一个元素作为单独的参数传给程序,而用NULL结束整个列表. execv将命令行参数作为C字符串数组来传递(是一个指向以\0结尾的字符串数组的以"NULL"结尾的指针数组中的一个指针) execle 和execve则是多了环境变量. execve是内核中的实际调用
4.代码
#include
#include
#include
#include
#include
intmain()
{
execl("/bin/ls","ls","-al","/etc/passwd", (char*) 0);
}
5.输出
rw-r--r-- 1 root root 1495 Jun 11 12:25 /etc/passwd