一、wait函数
wait函数用于等待子进程中断或结束。
表头文件:
#include <sys/types.h>
#include <sys/wait.h>
定义函数:
pid_t wait (int * status)
函数说明:
wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。子进程的结束状态值会由参数status返回,而且子进程的进程识别码也会一起返回,如果不在意结束状态值,参数status克设为NULL。
返回值:
执行成功返回子进程识别码,错误发生返回-1。
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdlib.h>
int mian()
{
pid_t pid;
int status, i;
if(fork() == 0)
{
printf("child process!\n");
exit(5);//终结目前进程的执行,并把status返回给父进程
}
else
{
sleep(1);
printf("parent process!\n");
pid = wait(status);//子进程的结束状态由status返回,子进程的进程识别码一起返回
i = WEXITSTATUS(status);//取得子进程exit返回的结束代码
printf("child pid = %d, exit status = %d\n", pid, i);
}
return 0;
}