什么是signal(SIGCHLD, SIG_IGN)函数
在进行网络编程时候遇到这个函数的使用,自己学习结果如下,有不对请帮忙指正:)
signal(SIGCHLD, SIG_IGN)
打开manpage康一康~
sighandler_t signal ( int signum, sighandler_t handler );
参数1 int signum: 就是信号的种类,这里是通过信号回收子进程的SIGCHLD. 子进程要终止了,发个SIGCHLD信号告诉父进程
参数2 sighandler_t handler: 这里选的是SIG_IGN, 忽视信号
这个函数总的意思就是: 我父进程不关心你子进程啥时候要退出,一会你退了以后内核把pcb那些该回收的那些回收了就行了(包括子进程号、运行时间信息,占用的内存,mask等等),别告诉我了嚎~
这是一个异步的子进程结束后的料理后事的语句。
为啥要特意写这个函数交代子进程结束以后的“后事”呢?