signal(SIGPIPE, SIG_IGN)
当服务器close一个连接时,若client端接着发数据。根据TCP 协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。
根据信号的默认处理规则SIGPIPE信号的默认执行动作是terminate(终止、退出),所以client会退出。若不想客户端退出可以把SIGPIPE设为SIG_IGN
如: signal(SIGPIPE,SIG_IGN);
这时SIGPIPE交给了系统处理。
服务器采用了fork的话,要收集垃圾进程,防止僵尸进程的产生,可以这样处理:
signal(SIGCHLD,SIG_IGN); 交给系统init去回收。
这里子进程就不会产生僵尸进程了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
CentOS 安装 SVN1.7.7
dreamZhf
2020-07-08 12:36:10
linux CentOS7 mysql 源码安装和rpm安装
weixin_38081382
2020-07-08 12:31:47
No more authentication methods to try,Permission denied (publickey)
the5fire
2023-11-21 09:53:05
linux有磁盘空间却显示不足 linux中inode使用率过高处理办法 linux中inode使用率过高处理办法
故宮博物院
2022-12-25 14:18:39
Unixbench:简介及使用【转】
張昺華-sky
2022-06-30 14:35:50
linux下kill杀死进程的命令
K~hat
2020-11-10 13:34:45
基于tiny4412的Linux内核移植 -- 设备树的展开【转】
張昺華-sky
2020-10-22 13:20:25
增加FastDfs多文件存储路径
pengdayong77
2020-07-08 12:37:23
supervisor管理redis,mysql进程
pengdayong77
2020-07-08 12:37:23
linux下禁止用户使用密码方式登陆,而使用密钥方式登陆
dreamZhf
2020-07-08 12:36:09
find的用法:find查找指定文件和文件夹,设置为指定用户和用户组
sh2018
2020-07-08 12:35:54
centos创建应用快捷方式文件的语法
以下是在創建應用程序桌面快捷方式文件的內容要求: [Desktop Entry] 文件頭 Encoding 編碼格式 Name 應用名稱 Name[xx] 不同語言的應用名稱 Comment 描述 E
柘月十七
2020-07-08 12:33:16
关于IP地址与主机名映射的/etc/hosts文件配置
柘月十七
2020-07-08 12:33:16
阿里年薪破百架构师推荐:鸟哥的Linux私房菜,搭配面试题,真香
毛发旺盛的程序员
2020-07-08 12:27:30