C標準庫參考指南(9)signal h

2021-06-17 21:01:38 字數 1041 閱讀 2228

9. signal.h

標頭檔案signal處理程式執行時產生的訊號的方法。

巨集:sig_dfl

sig_err

sig_ign

sigabrt

sigfpe

sigill

sigint

sigsegv

sigterm

函式:signal();

raise();

變數:typedef sig_atomic_t

9.1. 變數和定義

型別sig_atomic_t就是int,作為signal函式的handler中的變數。sig_巨集用於signal函式中用於定義訊號函式。

sig_dfl   預設handler。

sig_err   表示錯誤訊號。

sig_ign   忽略訊號。

sig巨集代表下列情況下的訊號編號。

sigabrt   異常終止(由abort函式產生)。

sigfpe   浮點錯誤(由零除執行、不合理操作產生)。

sigill   非法操作(指令)。

sigint   互動訊號(比如我們熟悉的ctrl-c)。

sigsegv   非法儲存訪問(段錯誤,記憶體錯誤)。

sigterm   終止請求。

9.2. signal

宣告:void (*signal(int sig, void (*func)(int)))(int);

該函式管理乙個訊號應該如何被操控。sig代表與sig巨集相容的訊號編號。func函式會在訊號產生時被呼叫。如果函式是sig_dfl,則呼叫預設的handler。如果func是sig_ign,則訊號被忽略。如果func指向乙個函式,那麼當檢測到乙個訊號並執行預設handler時,該函式會被呼叫。函式必須攜帶乙個int引數代表訊號編號。函式可能被return,abort,exit,或者longjmp終止。當函式終止時,程式繼續從中斷處執行(除非是結果未定義的訊號sigfpe)。

如果訊號呼叫成功,則返回指向之前特定訊號型別的handler的指標。如果訊號呼叫失敗,則返回sig_err並且將errno設定乙個合理值。

C標準庫參考指南系列譯文(9)signal h

英文原文 中文譯者 柳驚鴻 poechant 9.signal.h 標頭檔案signal處理程式執行時產生的訊號的方法。巨集 sig dfl sig err sig ign sigabrt sigfpe sigill sigint sigsegv sigterm 函式 signal raise 變數...

C標準庫參考指南系列譯文(9)signal h

英文原文 中文譯者 柳驚鴻 poechant 9.signal.h 標頭檔案signal處理程式執行時產生的訊號的方法。巨集 sig dfl sig err sig ign sigabrt sigfpe sigill sigint sigsegv sigterm 函式 signal raise 變數...

c標準庫 signal 庫

c標準庫 signal 庫 的基本用法 雜談 最近在看 c標準庫 對於裡面的函式的用法和演算法有了乙個基本的理解。有一些庫很少用到,例如 庫,庫。每每看到 這些章節,我都潛意識的 認為 這些章節 不學也行,無所謂,所以看起書來 自然 比較浮躁。今天特意來網上 檢視資料來 學習 這兩個庫的用法。浮躁 ...