编写另一个C 程序,使用系统调用fork()以创建一个子进程,并使用这个子进程调用exec 函数族以执行系统命令ls
时间: 2024-05-03 20:21:09 浏览: 219
举例讲解C语言的fork()函数创建子进程的用法
好的,这个问题属于技术问题,我可以回答。以下是代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
pid_t pid;
int status;
pid = fork(); // 创建子进程
if(pid == -1)
{
printf("Error: fork failed!\n");
exit(1);
}
else if(pid == 0) // 子进程
{
char *args[] = {"ls", "-l", NULL}; // exec 函数族参数
execvp(args[0], args); // 执行 ls 命令
}
else // 父进程
{
waitpid(pid, &status, 0); // 等待子进程结束
printf("Child process finished.\n");
}
return 0;
}
```
阅读全文