- 3
- 0
- 约1.1万字
- 约 8页
- 2018-02-19 发布于浙江
- 举报
And的roid -- Init进程对信号的处理流程
Android -- Init进程对信号的处理流程
在Android中,当一个进程退出(exit())时,会向它的父进程发送一个SIGCHLD信号。父进程收到该信号后,会释放分配给该子进程的系统资源;并且父进程需要调用wait()或waitpid()等待子进程结束。如果父进程没有做这种处理,且父进程初始化时也没有调用signal(SIGCHLD, SIG_IGN)来显示忽略对SIGCHLD的处理,这时子进程将一直保持当前的退出状态,不会完全退出。这样的子进程不能被调度,所做的只是在进程列表中占据一个位置,保存了该进程的PID、终止状态、CPU使用时间等信息;我们将这种进程称为“Zombie”进程,即僵尸进程。
在Linux中,设置僵尸进程的目的是维护子进程的一些信息,以供父进程后续查询获取。特殊的,如果一个父进程终止,那么它的所有僵尸子进程的父进程将被设置为Init进程(PID为1),并由Init进程负责回收这些僵尸进程(Init进程将wait()/waitpid()它们,并清除它们在进程列表中的信息)。
由于僵尸进程仍会在进程列表中占据一个位置,而Linux所支持的最大进程数量是有限的;超过这个界限值后,我们就无法创建进程。所以,我们有必要清理那些僵尸进程,以保证系统的正常运作。
接下来,我们分析下Init进程是如何处理SIGCHLD信号的。
在Init.cpp中,我们是通过si
您可能关注的文档
- 9J的ava多线程编程.pptx
- 9_2007_的操作系统结构设计.ppt
- 9复杂控制的系统分析.ppt
- 9 第九讲(的1) 种质资源的保存.ppt
- 9.透明车间的项目介绍.ppt
- 9款极佳的JavaScript移动的应用程序开发框架.docx
- 8的月启动会宣导片.pptx
- 9、输入的输出设备.ppt
- 9类和的动态内存分配.ppt
- 9的 数学广角——鸡兔同笼.ppt
- 锦州市太和区2025-2026学年第二学期六年级语文第六单元测试卷(部编版含答案).docx
- 长治市沁源县2025-2026学年第二学期三年级语文第六单元测试卷(部编版含答案).docx
- 西安市雁塔区2025-2026学年第二学期二年级语文第六单元测试卷(部编版含答案).docx
- 张掖地区张掖市2025-2026学年第二学期四年级语文第五单元测试卷(部编版含答案).docx
- 贵阳市云岩区2025-2026学年第二学期四年级语文第六单元测试卷(部编版含答案).docx
- 伊春市金山屯区2025-2026学年第二学期四年级语文第五单元测试卷(部编版含答案).docx
- 湛江市麻章区2025-2026学年第二学期四年级语文第六单元测试卷(部编版含答案).docx
- 渭南市临渭区2025-2026学年第二学期四年级语文第六单元测试卷(部编版含答案).docx
- 湘西土家族苗族自治州龙山县2025-2026学年第二学期六年级语文第六单元测试卷(部编版含答案).docx
- 运城市新绛县2025-2026学年第二学期二年级语文第六单元测试卷(部编版含答案).docx
原创力文档

文档评论(0)