Unix Network Programming - 多进程服务器需解决的三个问题
2011-09-12 15:25
246 查看
1 当派生子进程来处理客户连接时,必须捕获信号SIGCHLD
2 当捕获信号时,必须处理被中断的系统调用。比如当子进程结束时会向父进程发送信号SIGCHLD,如果这时父进程被阻塞在系统调用内部,会产生问题。最好是让内核重新启用该系统调用。
3 SIGCHLD的信号处理程序必须处理所有终止的子进程,以免产生僵尸进程。比如循环调用waitpid而不是调用wait。
2 当捕获信号时,必须处理被中断的系统调用。比如当子进程结束时会向父进程发送信号SIGCHLD,如果这时父进程被阻塞在系统调用内部,会产生问题。最好是让内核重新启用该系统调用。
3 SIGCHLD的信号处理程序必须处理所有终止的子进程,以免产生僵尸进程。比如循环调用waitpid而不是调用wait。
相关文章推荐
- [置顶] linux系统tomcat应为被定时任务脚本监控自动部署,服务器重启导致同一个tomcat出现很多进程,kill -9杀死又出现等一系列问题解决。
- SQL SERVER问题解决:已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 命名管道提供程序, error: 0 - 管道的另一端上无任何进程。)
- sql2005管道的另一端上无任何进程、已成功与服务器建立连接,但是在登录过程中发生错误 一系列问题完整解决方法
- Loadrunner服务器问题解决之--mdrv.eve进程未中止导致服务器磁盘空间占满
- 提了三个问题,没有解决(关于VSFTP服务器设置的)
- SQL Server(解决问题)已成功与服务器建立连接,但是在登录过程中发生错误。(provider: Shared Memory Provider, error:0 - 管道的另一端上无任何进程。
- SQL Server(解决问题)已成功与服务器建立连接,但是在登录过程中发生错误。(provider: Shared Memory Provider, error:0 - 管道的另一端上无任何进程。
- SQL SERVER问题解决:已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 命名管道提供程序, error: 0 - 管道的另一端上无任何进程。)
- 很多人不知道的ASTGO三个命令解决服务器重启后各种问题
- 三个命令解决ASTGO服务器重启后各种问题
- ASTGO服务器重启后各种问题,三个命令就可以解决
- 解决服务器w3wp.exe进程占用cpu和内存过多问题
- unix下解决服务器产生大量close_wait问题
- android Aidl进程间通讯解决空指针异常问题
- 发现并解决linux高I/O Wait问题 – 如何发现linux中引起高io等待的进程
- win7问题解决,凭据管理器和无法访问,不允许一个用户使用一个以上用户名与服务器或共享资源进行多重连接。
- 如何在不重装服务器的情况下尝试解决sqlmaint.exe失败的问题
- “sql2005管道的另一端上无任何进程”及附带一系列问题完整解决方法
- 解决[服务器证书无效, 连接伪装服务器]问题
- “服务器应用程序不可用”问题及解决办法