登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
【Linux】僵尸进程|筛选输出|多进程与信号 学习笔记 ...
【Linux】僵尸进程|筛选输出|多进程与信号 学习笔记
[ 复制链接 ]
睿哝
2025-6-4 20:02:36
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
日期:2025.1.29(凌晨)
学习内容:
僵尸进程
筛选输出
多进程与信号
个人总结:
僵尸进程:
首先我们需要先了解一件事情,我们在使用fork函数的时候可以使得当前的进程再创建出来一个子进程,这个子进程在大多数的时候会复制一份新的我们的内存地址,数据内存等。那么这个子进程所占有的资源如何释放呢?对于我们当前的进程占有的资源如何释放,我们显然知道,当return的时候,那么进程就应该结束了。但是子进程什么时候结束我们并不知道,所以这时候我们就需要一个可以帮助我们判断子进程是否结束的函数wait()函数。
wait函数:参数是一个指针,这个指针代表的意义是存储子进程的退出状态。这个退出状态具体怎么判断我们还需要宏,WIFEXITED,WEXITSTATUS,WTERMSIG。(宏的参数都是int)第一个是用来判断子进程退出状态是否正常,第二个是用来记录退出状态正常时的退出状态码,第三个是用来记录退出状态异常时的退出状态码(信号的编号)。
退出状态正常:使用return或者exit函数退出,返回的值就是退出状态码
退出状态异常:使用信号来中断进程,返回的值其实也就是信号的编号
这里还有一个小的前提是,当我们知道一个进程什么时候结束,那么就可以交由操作系统来回收在其所消耗的资源。
所以我们使用wait函数便可以回收。
一般会有两种情况,一种是父进程先结束,子进程再结束,第二种是子进程先结束,父进程再结束。
前者:当父进程提前结束时,子进程会被pid=1的进程托管,成为其新的父进程。进程名为init。而init自带wait函数,可以回收利用。
后者:由于子进程先结束,假设父进程此刻没有wait函数,那么我们不知道子进程结束的时机,数据内存无法释放,进程编号也无法回收被一直占用,这种情况,便是僵尸进程。
兜兜转转绕了一大圈,但是解决办法我们也已经说完啦,接下来直接上代码。
[code]#include #include #include #include using namespace std;int main(){ pid_t pid = fork(); if (pid > 0) { // wait(nullptr); int *status=new int; wait(status); if (WIFEXITED(*status)) { cout
进程
Linux
僵尸
筛选
输出
相关帖子
Linux Mint在更新内核后出现网卡未识别的问题
3-1 GPIO输出
MySQL 筛选条件放 ON 后 vs 放 WHERE 后
Linux Mint下使用vscode编译C++代码
linux异常磁盘lvm恢复---惜分飞
多进程架构+多系统兼容,开发必备!
Linux常用命令查询工具(好记性不如烂笔头)
Linux DMA开发指南(一)
关于linux编译c语言文件的一些错误问题
[Linux] 手写轻量C++函数性能探查器:CPU占用率&耗时
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
Linux Mint在更新内核后出现网卡未识别的问题
0
89
汇干环
2025-12-09
安全
3-1 GPIO输出
2
946
何玲
2025-12-09
安全
MySQL 筛选条件放 ON 后 vs 放 WHERE 后
1
954
热琢
2025-12-10
安全
Linux Mint下使用vscode编译C++代码
1
735
聊账
2025-12-10
安全
linux异常磁盘lvm恢复---惜分飞
2
856
峰邑
2025-12-10
安全
多进程架构+多系统兼容,开发必备!
1
54
百里宵月
2025-12-11
安全
Linux常用命令查询工具(好记性不如烂笔头)
1
591
闾丘婉奕
2025-12-12
业界
Linux DMA开发指南(一)
0
669
芮梦月
2025-12-15
安全
关于linux编译c语言文件的一些错误问题
1
952
诈知
2025-12-15
安全
[Linux] 手写轻量C++函数性能探查器:CPU占用率&耗时
0
608
颖顿庐
2025-12-15
回复
(1)
姜删懔
2025-11-13 16:47:12
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
东西不错很实用谢谢分享
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
睿哝
2025-11-13 16:47:12
关注
0
粉丝关注
16
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845357
3934307807
991123
4
xiangqian
638210
5
韶又彤
9998
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
895
【分析式AI】-带你秒弄懂决策树与随机森林
97
DBLens 的数据安全、登录方式与离线使用说
71
国内开发者合规订阅 Claude Code 的 3 条最
153
Perforce QAC 2025.3 新版上线 | 速度与深
475
防止跨站脚本攻击(XSS)(完整版HTTP安全
352
Wayland下RDP服务器的搭建
887
Flink学习笔记:状态后端
532
csq-蓝桥杯python-基础语法2-列表与循环语
512
C#+VisionMaster 学习笔记(目录)-目录
586
ROS2核心概念之参数
88
【Agent】MemOS 源码笔记---(5)---记忆分类
129
.NET周刊【11月第4期 2025-11-23】
190
Oracle回滚与撤销(Undo)技术:从理论到实
221
吴恩达深度学习课程四:计算机视觉 第二周
854
jetson nano的ssh远程登录连接
638
Categraf 监控采集器常见问题汇总
825
11月和12月求职总结
950
2026年成都品牌主,如何选择AI优化搜索(AI
368
01 相向双指针
487
制造行业项目管理工具选型经验分享(简直是