linux中wait方法的使用
时间: 2023-04-21 10:00:07 浏览: 61
wait方法是Linux中的一个系统调用,用于等待子进程的结束并获取其退出状态。在父进程中调用wait方法可以阻塞父进程,直到子进程结束为止。
wait方法的使用方法如下:
1. 在父进程中调用fork方法创建子进程。
2. 在子进程中执行需要的操作。
3. 在父进程中调用wait方法等待子进程结束。
4. 获取子进程的退出状态。
示例代码如下:
```
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/wait.h>
int main()
{
pid_t pid;
int status;
pid = fork();
if (pid == -1) {
perror("fork");
exit(EXIT_FAILURE);
} else if (pid == ) {
// 子进程执行的代码
printf("This is child process.\n");
exit(EXIT_SUCCESS);
} else {
// 父进程执行的代码
printf("This is parent process.\n");
wait(&status);
if (WIFEXITED(status)) {
printf("Child process exited with status %d.\n", WEXITSTATUS(status));
}
}
return ;
}
```
在上面的示例代码中,父进程调用了wait方法等待子进程结束,并通过WIFEXITED宏和WEXITSTATUS宏获取子进程的退出状态。如果子进程正常结束,WIFEXITED宏返回真值,WEXITSTATUS宏返回子进程的退出状态。