新闻资讯
看你所看,想你所想

execl函式

execl函式

execl函式

execl()其中后缀"l"代表list也就是参数列表的意思,第一参数path字元指针所指向要执行的档案路径, 接下来的参数代表执行该档案时传递的参数列表:argv[0],argv[1]... 最后一个参数须用空指针NULL作结束。

相关用法

相关函式
fork, execle, execlp, execv, execve, execvp
Windows下头档案
#include <process.h>
Linux下头档案
#include <unistd.h>
函式定义
int execl(const char *path, const char *arg, ...);

函式用法

函式返回值

成功则不返回值, 失败返回-1, 失败原因存于errno中,可通过perror()列印
Windows下示例(vs编译):
#include <stdio.h>
#include <process.h>
int main()
{
printf("调用D糟Test目录下的hello.exe, 第一个参数为该应用程式的名称\n");
execl("D:\\Test\\hello.exe","hello");
printf("进程已经被递交给了hello.exe,这里不会再执行");
}
Linux下示例:

示例1

/* 执行 /bin/ls -al /ect/passwd */
#include <unistd.h>/*** File: execl.c**/
main()
{
// 执行/bin目录下的ls, 第一参数为程式名ls, 第二个参数为"-al", 第三个参数为"/etc/passwd"
execl("/bin/ls", "ls", "-al", "/etc/passwd", (char *) 0);
}

示例2

#include <unistd.h>/*** File: execl.c**/
int main()
{
char args[]=" -l";
// 执行/bin目录下的ls, 第一参数为程式名ls, 第二个参数为"-al", 第三个参数为"/etc/"
execl("/bin/ls","ls","-al","/etc/",NULL);
return 0;
}

编译并运行

[cnscn@test c]$ gcc execl.c -o execl
[cnscn@test c]$ ./execl
-rw-r--r-- 1 root root 2218 Jan 13 11:36 /etc/passwd

转载请注明出处海之美文 » execl函式

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com