Wait函数
pid_t wait(int *status);//函数原型
头文件、
进程一旦调用了wait,就立即阻塞自己,由wait自动分析当前进程的某个子进程是否已经退出,如果它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到,wait就会一直阻塞在这里,直到有一个出现为止。
SIGCHLD
SIGCHLD,Linux的一...
分类:
系统相关 时间:
2014-10-06 12:14:10
阅读次数:
209
ctrl + c --> 2)SIGINTctrl + \ --> 3)SIGQUIT13)SIGPIPE 当管道读端关闭,再往管道写东西,会发出SIGPIPE信号17)SIGCHLD 子进程退出会向父进程发出SIGCHLD信号,系统默认处理是忽略掉该信号#include#include #incl...
分类:
其他好文 时间:
2014-09-09 12:28:48
阅读次数:
185
引言 先看以下两个信号量: 13)SIGPIPE 当管道读端关闭,再往管道写东西,会发出SIGPIPE信号 17)SIGCHLD 子进程退出会向父进程发出SIGCHLD信号,系统默认处理是忽略掉该信号 代码 /*********************************************...
分类:
系统相关 时间:
2014-08-26 01:46:05
阅读次数:
311
当一个进程正常或异常终止的时候,内核就像其父进程发送SIGCHLD信号,因为子进程是个异步事件,所以这种信号也是内核给那个父进程发的异步通知。父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用执行的函数。对于这种信号的系统默认动作是忽略它。调用wait或waitpid的进程可能会发生什么情况...
分类:
编程语言 时间:
2014-08-18 10:29:54
阅读次数:
228
第五章的内容,实现一个echo服务器和对应的客户端,主要收获:0. TCP socket编程主要基本步骤1. SIGCHLD信号含义(子进程退出时向父进程发送,提醒父进程对其状态信息进行一个获取),waitpid 和 wait在使用上的差异,前者可以配置参数设定为非阻塞方式调用,更加灵活。2. 信号...
分类:
系统相关 时间:
2014-08-17 15:26:12
阅读次数:
337
SIGCHILD只是在子进程退出的时候发送给父进程的一个信号值,这是一种异步通知父进程的方式.父进程可以捕获,忽略这个信号,默认动作是忽略此信号.常用的使用方式是,当SIGCHILD信号发生时候,主进程在SIGCHILD的信号处理函数中调用waitpid or wait来回收子进程的结束状态。但需要...
分类:
其他好文 时间:
2014-08-09 21:04:39
阅读次数:
180
1简介僵死进程简而言之就是:子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程。在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函...
分类:
其他好文 时间:
2014-08-09 13:14:07
阅读次数:
253
当一个进程终止时,内核就向其父进程发送SIGCHLD信号。因为子进程终止是个异步事件,所以这种信号也是内核向父进程发的异步通知。父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用执行的函数。对于这种信号的系统默认动作是忽略它。调用wait或waitpid的进程发生的情况如下:1.如果所有子进...
分类:
其他好文 时间:
2014-07-29 10:38:06
阅读次数:
231
6月20号给美团的朋友说内推实习生,马上就打过来电话约了时间,刚创业的公司效率就是快。23号晚上电面一面,聊了半个小时,问的问题比较基础但是范围很广,什么是文件描述符?常用对文件描述符操作的函数,dup与dup2,熟悉的信号(sigchld,sigkill,sighup,sigterm,sigint...
分类:
其他好文 时间:
2014-07-16 14:56:13
阅读次数:
285
signal(SIGCHLD, SignalHandler);
注册软中断,对应的apiclose(socket);ret=fork(): 父进程,返回子进程的pid. 子进程返回0,
出错返回<0set_process_name("Name"), 当前进程名称dpopen, dlclose,dls...
分类:
系统相关 时间:
2014-06-09 18:24:11
阅读次数:
306