进程控制及其操作
创始人
2024-05-28 18:56:37
0
  1. 进程创建

1.1 fork()函数

1.2 fork()函数的返回值

  1. 进程等待

2.1 进程等待的必要性

1.之前讲过,子进程退出,父进程如果不管不顾,就可能造成‘僵尸进程’的问题,进而造成内存泄漏。 2.另外,进程一旦变成僵尸状态,那就刀枪不入,"杀人不眨眼"的kill -9 也无能为力,因为谁也没有办法 杀死一个已经死去的进程。 3.最后,父进程派给子进程的任务完成的如何,我们需要知道。如,子进程运行完成,结果对还是不对, 或者是否正常退出。 进程等待的作用:父进程通过进程等待的方式,回收子进程资源,获取子进程退出信息.

2.2 使用进程等待的方法

  1. 通过调用pid_t wait(int* status)函数。成功则返回被等待子进程的pid,失败返回-1。

  1. 通过调用pid_t waitpid(pid_t id, int* status, int options)函数

2.3 其他

  1. 如果子进程已经退出,调用wait/waitpid时,wait/waitpid会立即返回,并且释放资源,获得子进程退 出信息。

  1. 如果在任意时刻调用wait/waitpid,子进程存在且正常运行,则进程可能阻塞。

  1. 如果不存在该子进程,则立即出错返回。

  1. 进程终止

3.1 进程退出场景

3.1.1 代码运行完毕,结果正确。

3.1.2 代码运行完毕,结果不正确。

3.1.3 代码异常终止。

3.2 进程退出方法

【正常退出】:(可以通过echo $?查看进程退出码,退出码:main函数中return后面的数字)

3.2.1 从mian函数return返回。

3.2.2 任意地方调用exit()库函数。

3.2.3 _exit()系统函数。

3.2.4 exit与_exit的区别:exit会刷新缓冲区、_exit不会刷新缓冲区。

【异常退出】

相关内容

热门资讯

北京房地产限购政策调整! | ... 12月24日,北京市住房城乡建设委、市发展改革委、人民银行北京市分行、北京住房公积金管理中心等4部门...
理工导航(688282)披露公... 截至2025年12月24日收盘,理工导航(688282)报收于56.8元,较前一交易日上涨5.46%...
政策助力医疗创新 为患者带来“... 近日,心衰患者孙先生在泰达国际心血管病医院(简称泰心医院)康复出院,成为“人工心脏”纳入天津医保后的...
宝利国际(300135)披露制... 截至2025年12月24日收盘,宝利国际(300135)报收于3.84元,较前一交易日上涨0.26%...
西安至延安高铁12月26日开通... 记者12月24日从中国国家铁路集团有限公司获悉,西安至延安高铁将于12月26日开通运营,陕北革命老区...
中国人民银行:要继续实施适度宽... 中国人民银行12月24日发布消息称,要继续实施适度宽松的货币政策,加大逆周期和跨周期调节力度,更好发...
鑫汇科及子公司陷施工合同纠纷,... 12月24日晚间,鑫汇科(920267)发布公告,公司及全资子公司鑫汇科电器的部分银行账户资金被冻结...
原创 委... 在当今动荡的国际局势中,一场围绕石油与主权的博弈正悄然在南美洲酝酿发酵,主角便是委内瑞拉与美国。这场...
中建环能(300425)披露累... 截至2025年12月24日收盘,中建环能(300425)报收于5.05元,较前一交易日上涨1.2%,...