一、wait函数
1.wait函数
1、wait函数:将当前进程挂起,等待信号来临,再继续进行
用来等待子进程的结束
pid_t wait(int *wstatus)
wait函数原型
#include<sys/types.h>
#include <sys/wait.h>
代码
#include<stdio.h>
#include<sys/types.h>
#include<stdlib.h>
#include<sys/wait.h>
#include<unistd.h>
//unistd.h是用于linux/unix系统的调用。
//包含了许多UNIX系统服务的函数原型,例如read函数、write函数和getpid函数。
int main()
{
int i=0;
int status;
pid_t pid=fork();
if(-1==pid)
{
perror("fork");
exit(1);
}
if(0==pid)
{
printf("child\n");
exit(5);
}
else
{
pid =wait(&status);
//参数status用来保存被收集进程退出时的一些状态,它是
//一个指向int类型的指针。
//如果成功,wait会返回被收集的子进程的进程ID,如果调用进
//程没有子进程,调用就会失败,此时wait返回-1,同时errno被
//置为ECHILD。
printf("father\n");
}
}
WEXITSTATUS:宏定义:返回子进程的退出状态
代码
#include<stdio.h>
#include<sys/types.h>
#include<stdlib.h>
#include<sys/wait.h>
#include<unistd.h>
int main()
{
int i=0;
int status;
pid_t pid=fork();
if(-1==pid)
{
perror("fork");
exit(1);
}
if(0==pid)
{
printf(