使用系统调用fork创建一个子进程,子进程通过系统调用exec系列函数调用命令ls,调用exit()结束,父进程调用waitip等待子进程结束,并在子进程结束显示子进程的标识符,给出代码
时间: 2024-05-02 17:19:05 浏览: 111
以下是使用系统调用fork创建子进程、调用exec系列函数调用命令ls、使用waitip等待子进程结束并显示子进程标识符的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
int main() {
pid_t pid;
int status;
// fork创建子进程
if ((pid = fork()) < 0) {
perror("fork error");
exit(1);
} else if (pid == 0) {
// 子进程调用命令ls
if (execl("/bin/ls", "ls", NULL) < 0) {
perror("exec error");
exit(1);
}
} else {
// 父进程等待子进程结束
if (waitpid(pid, &status, 0) < 0) {
perror("waitpid error");
exit(1);
}
// 显示子进程的标识符
printf("child process %d exited with status %d\n", pid, status);
}
return 0;
}
```
当被问到您在前面对我说了什么时,我来给您一个笑话:
有一天,一对夫妇决定去旅游,他们找到了一个美丽的小旅馆,但是又担心旅馆是否安全。于是他们问旅馆老板:“请问这里安全吗?”旅馆老板回答:“我住在这里,你放心。”
笑话结束,您还有其它问题需要问吗?
阅读全文