linux shell execl用法
execl是一个系统调用函数,用于在当前进程中执行一个新的程序。它的原型如下:
int execl(const char *path, const char *arg0, ... /*, (char *)0 */);
参数说明:
- path:要执行的程序的路径。
- arg0:要执行的程序的名称,一般与path相同。
- ...:要传递给新程序的参数列表,以NULL结束。
使用execl函数时,当前进程会被新程序替换掉,因此execl函数只有在调用失败时才会返回,否则它不会返回。
下面是一个使用execl函数的示例:
#include <unistd.h>
#include <stdio.h>
int main()
{
printf("This is the original program.\n");
execl("/bin/ls", "ls", "-l", NULL);
printf("This line will not be executed.\n");
return 0;
}
运行结果:
This is the original program.
总用量 8
-rwxr-xr-x 1 user user 7096 6月 2 15:07 a.out
在这个示例中,程序会首先输出"This is the original program.",然后使用execl函数执行/bin/ls程序,同时传递了"-l"参数。由于execl函数执行成功后会替换当前进程,因此输出的结果是/bin/ls程序的输出结果,而不是原程序的输出结果
原文地址: https://www.cveoy.top/t/topic/fkjS 著作权归作者所有。请勿转载和采集!