关于SIGCHLD与SIG_IGN应用。
来源:互联网 发布:不调用淘宝客api 编辑:程序博客网 时间:2024/05/23 14:35
一、SIGCHLD是unix的一种信号。
SIGCHLD信号是子进程结束时,向内核发送的信号。
无论进程是正常终止,还是不正常终止,都会向内核发送SIGCHLD信号。
如果父进程不等待子进程结束,子进程将有可能成为僵尸进程(zombie)从而占用系统资源。因此需要对SIGCHLD信号做出处理,回收僵尸进程的资源,避免造成不必要的资源浪费。
可以用如下语句:
signal(SIGCHLD,(void *)handle);
handle此处代表一个处理 SIGCHLD信号,引起的函数。
但是在一些并发性特别高的服务器端,有时候又需要对此信号进行忽略。因为,每一个子进程终止时都会向内核发送此信号,如果并发性特别多,将影响服务器处理速率。
可以用如下语句
signal(SIGCHLD,SIG_IGN );
signal(SIGCHLD, SIG_IGN); //忽略SIGCHLD信号,这常用于并发服务器的性能的一个技巧
//因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。如果将此信号的处理方式设为忽略,可让内核把僵尸子进程转交给init进程去处理,省去了大量僵尸进程占用系统资源。
0 0
- 关于SIGCHLD与SIG_IGN应用。
- SIGCHLD信号与SIG_IGN处理的使用
- SIGCHLD信号与SIG_IGN处理的使用
- SIGCHLD信号与SIG_IGN处理的使用
- SIGCHLD信号与SIG_IGN处理的使用
- SIGCHLD信号与SIG_IGN处理的使用
- SIGCHLD信号与SIG_IGN处理的使用
- SIGCHLD信号与SIG_IGN处理的使用
- SIGCHLD信号与SIG_IGN处理的使用
- signal(SIGCHLD, SIG_IGN)
- 嵌入式 SIGCHLD信号与SIG_IGN处理的使用示例
- signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);
- signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN)
- signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN)
- signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN)
- signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);
- signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);
- 僵尸进程回收signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN); .
- 多态性
- viewpager详解
- Java 接口
- [Sicily 1150 1151 1515 魔板] BFS+判重(康托展开)
- zzuoj 10399: F.Turing equation
- 关于SIGCHLD与SIG_IGN应用。
- Android adb不是内部或外部命令
- ONOS 事件处理机制
- EF实体框架初了解
- sessionFactory or hibernateTemplate is required原因及解决方法
- poj1022 图的bfs
- Android InputType Details
- 实用正则表达式匹配和替换
- 关于spring中出现org.springframework.beans.factory.BeanCreationException异常的问题