Linux系统编程之进程退出,父进程等待子进程退出

1.首先讲一下进程的退出
进程的退出分为正常退出和异常退出:
正常退出:
(1)main函数调用return
(2)进程调用exit(),标准C库
(3)进程调用_exit()或_Exit(),属于系统调用
(4)进程最后一个线程返回
(5)最后一个线程调用pthread_exit

异常退出:
(1)调用abort
(2)当进程收到某些信 时,例如Ctrl+c
(3)最后一个线程对取消(cancellation)请求做出响应

(2)以wait函数等待子进程:
直接上代码:

结果:

此时的pid其实就是此时子进程的ID ,而waitpid是不阻塞机制的,可以看看上面介绍
直接上代码:

结果:

Linux系统编程之进程退出,父进程等待子进程退出
从结果中可见除了第一个子进程的父进程的ID 为正常的ID ,下面的那些父进程的ID 都是1,即为init进程。

学习笔记,仅供参考!

文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览113456 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月24日
下一篇 2022年3月24日

相关推荐