在C语言中,wait函数用于等待子进程的结束。
下面是wait函数的使用方法:
-
引入头文件:#include
和 #include -
创建子进程:使用fork函数创建子进程。
-
在父进程中调用wait函数:在父进程中调用wait函数,等待子进程结束。
-
获取子进程的结束状态:wait函数返回子进程的pid(进程ID),可以通过wait的参数获取子进程的结束状态。
下面是一个简单的示例代码:
#include#include #include #include int main() { pid_t pid; int status; pid = fork(); if (pid == -1) { // 创建子进程失败 perror("fork"); return 1; } else if (pid == 0) { // 子进程执行的代码 printf("This is child process.\n"); sleep(5); return 0; } else { // 父进程执行的代码 printf("This is parent process.\n"); wait(&status); if (WIFEXITED(status)) { printf("Child process exited with status: %d\n", WEXITSTATUS(status)); } return 0; } }
在上面的示例代码中,首先使用fork函数创建了一个子进程。子进程中打印"This is child process.“,然后使用sleep函数让子进程休眠5秒钟。父进程中打印"This is parent process.”,然后调用wait函数等待子进程结束,并通过WIFEXITED宏检查子进程是否正常结束,如果是正常结束,则通过WEXITSTATUS宏获取子进程的退出状态。