怎么在国税网站上做实名认证吗,做的好微信商城网站吗,体育台球直播在线观看,网站运营队伍与渠道建设SIGCHLD信号 在学习进程控制的时候#xff0c;使用wait和waitpid系统调用何以回收僵尸进程#xff0c;父进程可以阻塞等待#xff0c;也可以非阻塞等待#xff0c;采用轮询的方式不停查询子进程是否退出。
采用阻塞式等待#xff0c;父进程就被阻塞了#xff0c;什么都干…SIGCHLD信号 在学习进程控制的时候使用wait和waitpid系统调用何以回收僵尸进程父进程可以阻塞等待也可以非阻塞等待采用轮询的方式不停查询子进程是否退出。
采用阻塞式等待父进程就被阻塞了什么都干不了只能等子进程退出。 采用非阻塞式等待父进程在干自己事的同时还要时不时的轮询一下程序实现比较复杂。
实际上子进程的退出并不是悄无声息的在子进程退出时会发出SIGCHLD信号给父进程。 以下部分为转载其他博客部分内容仅做笔记 给SIGCHLD信号注册自定义处理方式打印捕捉到的信号编号。父进程创建处子进程后子进程在5次循环后退出父进程始终循环。 可以看到子进程在退出时发出了编号为17的SIGCHLD信号被父进程捕捉到了。
我们就可以通过在17号信号的自定义处理函数中进行进程等待来回收子进程。 采用这种方式时main执行流中的父子进程都不会收到影响当子进程退出时handler执行流进行进程等待回收子进程资源。
waitpid的第一个参数可以填-1此时只要是该父进程的子进程退出就会被回收。 在17号信号的自定义处理函数中循环回收所有子进程只要是子进程都会被循环回收。