16-僵尸进程和托孤进程

进程的正常退出步骤:

  • 子进程调用exit()函数退出
  • 父进程调用wait()函数为子进程处理其他事情

若进程没有按正常退出步骤,则有可能变为僵尸进程或者托孤进程

僵尸进程

子进程退出后,父进程没有调用wait()函数处理身后事,子进程变成僵尸进程。

编写程序实现僵尸进程

然后编译运行,通过ps aux | grep "test_main"查看进程状态,发现状态为"Z"的僵尸进程

托孤进程

父进程比子进程先退出,子进程变为孤儿进程,Linux系统会把子进程托孤给pid为1号的进程(init)进程

相关推荐
Ruiery9 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
欧米欧9 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery10 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
qetfw10 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
逆风的蚂蚁12 小时前
linux服务器性能调整怎么落地?我把 CPU 调度、I/O 优先级和内核参数这几个旋钮都拧了一遍
linux·运维·服务器
沫璃染墨16 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
AI_Lab0117 小时前
宝塔用了两年,有没有必要换成轻量方案?
linux·运维·服务器
by2099917 小时前
Linux GDB 调试与 CGDB 使用
linux·运维·服务器·经验分享
星恒随风18 小时前
Linux网络编程:应用层协议究竟是什么?从网络计算器到TCP Socket抽象基类完整实现
linux·网络·笔记·tcp/ip
feng_you_ying_li21 小时前
linux之网络层
linux·运维·网络