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

当server端关闭一个socket连接时,如果client端继续发送数据,系统会发出一个SIGPIPE信号给进程,通知进程这个连接已经断开,不应该再发送数据。而Linux系统的默认处理规则是对SIGPIPE信号执行terminate(终止、退出)处理,所以client端程序会异常退出,为了避免这种情况发生,可以将SIGPIPE设为SIG_IGN。
signal(SIGPIPE, SIG_IGN);

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/25117.html