(4)用fork( )创建一个进程,再调用exec( )用新的程序替换该子进程的内容
时间: 2023-10-30 08:05:45 浏览: 230
举例讲解C语言的fork()函数创建子进程的用法
实现步骤如下:
1. 使用fork()函数创建一个子进程。
2. 在子进程中调用exec()函数,用新的程序替换子进程的内容。
3. 在父进程中等待子进程结束,以避免子进程变成僵尸进程。
示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
pid_t pid;
pid = fork(); // 创建子进程
if (pid == -1) // 失败处理
{
perror("fork");
exit(1);
}
else if (pid == 0) // 子进程
{
printf("This is child process.\n");
execl("/bin/ls", "ls", "-l", NULL); // 用ls命令替换子进程的内容
}
else // 父进程
{
printf("This is parent process.\n");
waitpid(pid, NULL, 0); // 等待子进程结束
printf("Child process is done.\n");
}
return 0;
}
```
阅读全文