SIGPIPE信号产生原因

转自:https://blog.csdn.net/weixin_36750623/article/details/91370604

1.产生情况

SIGPIPE信号产生的规则:当一个进程向某个已收到RST的套接字执行写操作时,内核向该进程发送SIGPIPE信号。

SIGPIPE信号产生的场景举例
    ① 初始时,C、S连接建立,若某一时刻,C端进程宕机或者被KILL而终止(终止的C端进程将会关闭打开的文件描述符,即向S端发送FIN段),S端收到FIN后,响应ACK
    ② 假设此时,S端仍然向C端发送数据:当第一次写数据后,S端将会收到RST分节; 当收到RST分节后,第二次写数据后,S端将收到SIGPIPE信号(S端进程被终止)

 

 总结:为了防止客户端进程终止,而导致服务器进程被SIGPIPE信号终止,因此服务器程序要处理SIGPIPE信号。

 

posted @ 2021-06-10 11:01  lypbendlf  阅读(328)  评论(0)    收藏  举报