waitpid WNOHANG
2021/6/17 10:26:08
本文主要是介绍waitpid WNOHANG,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
waitpid WNOHANG
原文链接:https://blog.csdn.net/weixin_37787043/article/details/78714621
#include<stdio.h>
#include<stdlib.h>
#include <unistd.h>
//waitpid WNOHANG
int main(void)
{
printf("main process pid = %d\n",getpid());
int status;
pid_t pid;
pid = fork();//创建子进程
if(pid < 0)
{
perror("fork error");
exit(1);//结束进程
}
if(pid == 0)
{
printf("子进程pid = %d\n",getpid());
sleep(3);
printf("********\n");
exit(2);
}
if(pid > 0)
{
printf("父进程pid = %d\n",getpid());
//waitpid(pid,&status,0);//等同wait(&status);
//WNOHANG,waitpid()不阻塞而且立即返回,返回值为0
while(waitpid(pid,&status,WNOHANG) == 0)
{
printf("-----子进程运行中-----\n");
sleep(1);
}
//判断子进程结束状态
if(WIFEXITED(status))//进程正常结束
{
printf("normal exit status = %d\n",WIFEXITED(status));
}
if(WIFSIGNALED(status))//进程异常终止
{
printf("recv signal exit\n");
}
printf("-------------\n");
exit(1);
}
return 0;
}
/*
$ ./a.out
main process pid = 24977
父进程pid = 24977
-----子进程运行中-----
子进程pid = 24978
-----子进程运行中-----
-----子进程运行中-----
********
-----子进程运行中-----
normal exit status = 1
-------------
*/
————————————————
这篇关于waitpid WNOHANG的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29蓝桥杯大赛单片机比赛经验总结
- 2024-05-29AI 一键生成高清短视频,视频 UP 主们卷起来...
- 2024-05-29打造 AI “看牙”新体验,当 Serverless 遇上口腔医疗
- 2024-05-27取代或转型?人工智能对软件测试的影响(内附工具推荐)
- 2024-05-14让创意在幻觉中肆虐: 认识Illusion Diffusion AI
- 2024-05-08Sora从入门到入门-白话版1
- 2024-05-082024年github开源top100中文
- 2024-05-083、最大池化maxinmum pooling
- 2024-05-08动态规划基础思想
- 2024-05-08Kimi:文本解析利器,你相信光么?