红联Linux门户
Linux帮助

Linux下Socket的SIGPINPE信号导致程序退出

发布时间:2015-02-17 10:55:18来源:linux网站作者:wfy_love

当server端关闭一个socket连接时,如果client端继续发送数据,系统会发出一个SIGPIPE信号给进程,通知进程这个连接已经断开,不应该再发送数据。


而Linux系统的默认处理规则是对SIGPIPE信号执行terminate(终止、退出)处理,所以client端程序会异常退出,为了避免这种情况发生,可以将SIGPIPE设为SIG_IGN。signal(SIGPIPE, SIG_IGN);