[linux] SIGPIPE信号处理
生活随笔
收集整理的這篇文章主要介紹了
[linux] SIGPIPE信号处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在linux下寫socket的程序的時候,如果嘗試send到一個disconnected socket上,就會讓底層拋出一個SIGPIPE信號。
這個信號的缺省處理方法是退出進程,大多數時候這都不是我們期望的。因此我們需要重載這個信號的處理方法。調用以下代碼,即可安全的屏蔽SIGPIPE:
??? struct sigaction sa;
??? sa.sa_handler = SIG_IGN;
??? sigaction( SIGPIPE, &sa, 0 );
把這幾行代碼,看作是windows下的WSAStartUp()就好了。
這個信號的缺省處理方法是退出進程,大多數時候這都不是我們期望的。因此我們需要重載這個信號的處理方法。調用以下代碼,即可安全的屏蔽SIGPIPE:
??? struct sigaction sa;
??? sa.sa_handler = SIG_IGN;
??? sigaction( SIGPIPE, &sa, 0 );
把這幾行代碼,看作是windows下的WSAStartUp()就好了。
轉載于:https://www.cnblogs.com/hehe520/archive/2007/05/22/6330446.html
總結
以上是生活随笔為你收集整理的[linux] SIGPIPE信号处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 项目管理13禁忌
- 下一篇: 年底离职是否还有年终奖 还是得看自己的情