当前位置: 首页 > news >正文

系统编程—进程2

一、进程关系与写时复制

子进程是父进程的一个复制品(副本)。

写时复制:Linux2.6及后续版本中,子进程通过fork创建时采用写时复制机制:fork刚完成时,子进程并不单独开辟空间,而是与父进程共享全部内存;仅当父子进程中任意一个修改某变量或内存区域,子进程才会为该部分内存开辟独立空间,实现按需复制。

二、进程的终止情况

1.main中return :触发进程退出,return 的值作为进程退出码

2.exit() c库函数,会执行io库的清理工作,关闭所有的流,以及所有打开的文件。

3._exit_Exit 会关闭所有的已经打开的文件,不执行清理函数。

4.主线程退出:主线程执行完毕退出,导致整个进程终止

5.主线程调用pthread_exit 异常终止

6.abort():主动触发 SIGABRT 信号,强制终止进程

7.signal kill pid :通过信号(如 SIGKILL/SIGTERM 等)终止进程

8.最后一个线程被pthread _cancle :取消最后一个存活线程,导致进程终止

三、退出后的进程

1.僵尸进程:父进程创建子进程后,子进程先消亡。对应用户内存空间释放,子进程也不会被调度了。但是内核空间中的对应的pcb块,没有释放。

2.孤儿进程:父进程创建子进程后,父进程先消亡。子进程会寻找新的父进程。

四、退出函数

1.exit函数

功能:让进程退出,并刷新缓存区

参数:status:进程退出的状态。

void exit(int status) exit(1);

2._exit 系统调用

功能:让进程退出,不刷新缓存区

参数:status:进程退出的状态。

void _exit(int status);

3.pid_t wait 函数

pid_t wait(int *status);

功能:该函数可以阻塞等待任意子进程退出
并回收该进程的状态。
只能父进程回收子进程状态。
参数:status 进程退出时候的状态
如果不关心其退出状态一般用NULL表示
如果要回收进程退出状态,则用WEXITSTATUS回收。
WIFEXITED(status) :是不是正常结束
WEXITSTATUS(status): 使用这个宏去那返回值
WIFSIGNALED(status) :是不是收到了信号而终止的
WTERMSIG(status):如果是信号终止的,那么是几号信号。

http://www.cnnetsun.cn/news/54691.html

相关文章:

  • 【原创改进代码】考虑Copula相关性和热泵灵活性的风电光伏出力波动平抑优化策略
  • LXMusic V250801音源系统深度探索:从架构设计到性能调优
  • TranslucentTB中文设置完整指南:让任务栏透明化工具说中文
  • 百度网盘下载加速终极指南:免费突破限速完整方案
  • 3步搞定Habitat-Matterport 3D数据集完整安装指南 [特殊字符]
  • 企业级RPA利器OpenRPA:零基础快速部署与实战应用完全指南
  • 如何免费解锁百度网盘SVIP极速下载:终极完整指南
  • OpenWRT插件中心iStore:5分钟快速上手终极指南
  • Java Excel处理性能革命:FastExcel如何实现20倍效率提升
  • 终极Windows日志管理方案:快速搭建专业级监控中心
  • 2025年12月14日全球AI前沿动态
  • 剪映自动化神器:Python编程实现智能视频剪辑的革命性突破
  • 终极硬件信息获取指南:5分钟掌握hwinfo跨平台监控技术
  • MacOS鼠标滚动终极优化:如何让外接鼠标体验超越触控板?[特殊字符]
  • 【Java毕设全套源码+文档】基于springboot的电影院订票信息管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • Unity反向遮罩黑科技:彻底颠覆传统UI设计思维
  • 3大技巧玩转Equalizer APO:从入门到精通的音频增强终极指南
  • 10分钟精通AMD处理器调试:SMU工具的完整使用指南
  • GridPlayer终极指南:轻松实现多视频同步播放的免费神器
  • 如何用OneMore插件实现终极笔记管理:开源免费的效率神器
  • Bilibili-Evolved终极评测:从基础体验到专业玩家的全面升级指南
  • ubuntu常用命令
  • wvp-GB28181-pro国标视频平台完整使用教程:从零搭建到实战应用
  • 终极指南:LXMusic音源全面解析与使用技巧
  • GridPlayer:免费开源的多视频网格播放器终极解决方案
  • Terraria地图编辑器终极使用指南:5步轻松打造完美游戏世界
  • iStore插件中心终极指南:5步轻松搞定OpenWRT插件安装与管理
  • OneMore插件:让OneNote效率提升10倍的神器
  • 终极指南:快速上手轻量级文本转语音引擎eSpeak NG
  • 云顶之弈智能挂机助手:解放双手的自动化游戏神器