创建子进程后调用系统调用execlp的程序 execlp.c
时间: 2024-05-01 14:20:08 浏览: 148
Linux中使用C语言的fork()函数创建子进程的实例教程
下面是一个使用 `execlp` 系统调用的简单程序 `execlp.c`,它会启动一个新的子进程并执行 `ls` 命令:
```c
#include <stdio.h>
#include <unistd.h>
int main() {
printf("Before calling execlp...\n");
execlp("ls", "ls", "-l", NULL);
printf("After calling execlp...\n");
return 0;
}
```
在该程序中,`execlp` 函数的第一个参数是要执行的程序的名称,在这里是 `ls`。后面的参数是该程序的命令行参数,最后一个参数必须为 `NULL`。在这个例子中,我们会执行 `ls -l` 命令。
当我们运行这个程序时,它会输出 "Before calling execlp...",然后启动一个新的子进程并执行 `ls -l` 命令。在子进程执行完毕之后,程序会退出,不会输出 "After calling execlp..."。因为 `execlp` 函数会替换当前进程的映像,所以在该函数执行成功之后,当前进程将不再存在。
阅读全文