linux下socket錯誤返回碼

來源:互聯網
上載者:User



符號名  訊號值 描述                是否符合POSIX
SIGHUP  1   在控制終端上檢測到掛斷或控制線程死亡  是
SIGINT  2   互動注意訊號              是
SIGQUIT  3   互動中止訊號              是
SIGILL  4   檢測到非法硬體的指令          是
SIGTRAP  5   從陷阱中回朔              否
SIGABRT  6   異常終止訊號              是
SIGEMT  7   EMT 指令                否
SIGFPE  8   不正確的算術操作訊號          是
SIGKILL  9   終止訊號                是
SIGBUS  10   匯流排錯誤                否
SIGSEGV  11   檢測到非法的記憶體調用          是
SIGSYS  12   系統call的錯誤參數           否
SIGPIPE  13   在無讀者的管道上寫           是
SIGALRM  14   報時訊號                是
SIGTERM  15   終止訊號                是
SIGURG  16   IO通道緊急訊號             否
SIGSTOP  17   暫停訊號                是
SIGTSTP  18   互動暫停訊號              是
SIGCONT  19   如果暫停則繼續             是
SIGCHLD  20   子線程終止或暫停            是
SIGTTIN  21   後台線程組一成員試圖從控制終端上讀出  是
SIGTTOU  22   後台線程組的成員試圖寫到控制終端上   是
SIGIO   23   允許I/O訊號               否
SIGXCPU  24   超出CPU時限               否
SIGXFSZ  25   超出檔案大小限制            否
SIGVTALRM 26   虛時間警報器              否
SIGPROF  27   側面時間警報器             否
SIGWINCH 28   視窗大小的更改             否
SIGINFO  29   訊息請求                否
SIGUSR1  30   保留作為使用者自訂的訊號1        是
SIGUSR2  31   保留作為使用者自訂的訊號        是 
注意:Linux訊號機制基本上是從Unix系統中繼承過來的。早期Unix系統中的訊號機制比較簡單和原始,後來在實踐中暴露出一些問題,因此,把那些建立在早期機制上的訊號叫做"不可靠訊號",訊號值小於SIGRTMIN(Red
hat 7.2中,SIGRTMIN=32,SIGRTMAX=63)的訊號都是不可靠訊號。這就是"不可靠訊號"的來源。它的主要問題是:進程每次處理訊號後,就將對訊號的響應設定為預設動作。在某些情況下,將導致對訊號的錯誤處理;因此,使用者如果不希望這樣的操作,那麼就要在訊號處理函數結尾再一次調用signal(),重新安裝該訊號。
另外,我再做一些補充,產生RST響應以至於系統發出SIGPIPE訊號,應該分為兩種情況:
1. 用戶端到服務端之間網路斷掉,或者服務端斷電等,物理串連斷掉了,這種情況下用戶端不會退出,send函數正常執行,不會感覺到自己出錯。因為由於物理網路斷開,服務端不會給用戶端回應錯誤訊息,沒有RST響應,自然也不會產生SIGPIPE訊號。但是當服務端再恢複正常的時候,對用戶端send來的訊息會產生RST響應,用戶端就收到SIGPIPE訊號了,程式退出,但是這時send函數是能夠返回
-1的。可以進行異常處理。
2.用戶端到服務端的網路能通,服務程式掛掉,用戶端程式會馬上退出,因為服務端能正常返回錯誤訊息,用戶端收到,SIGPIPE訊號就產生了。不過我不確定此時服務端返回是的RST響應,抓包來看沒有RST標誌。水平有限,唯寫到這了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.