函式
<csignal>

raise

int raise (int sig);
產生一個訊號
向當前執行的程式傳送訊號 sig

訊號將按照 signal 函式的指定進行處理。

引數

sig
要發出的訊號值。以下宏常量表達式標識了標準訊號值

signal
SIGABRT(Signal Abort) 異常終止,例如由 abort 函式發起的終止。
SIGFPE(Signal Floating-Point Exception) 錯誤的算術運算,例如除以零或導致溢位的運算(不一定與浮點運算有關)。
SIGILL(Signal Illegal Instruction) 無效的函式映像,例如非法指令。這通常是由於程式碼損壞或嘗試執行資料所致。
SIGINT(Signal Interrupt) 互動式注意訊號。通常由應用程式使用者生成。
SIGSEGV(訊號分段違規)對儲存的無效訪問:當程式試圖在其分配的記憶體之外進行讀寫操作時。
SIGTERM(Signal Terminate) 傳送給程式的終止請求。

每個庫的實現可能會提供額外的訊號值宏常量與此函式一起使用。

返回值

如果成功,返回零;否則,返回一個非零值。

資料競爭

併發呼叫此函式是安全的,不會導致資料競爭。
但請注意,其處理過程可能會影響所有執行緒。

異常 (C++)

如果沒有使用 signal 定義函式處理程式來處理發出的訊號,則該函式永遠不會丟擲異常(無丟擲保證)。
否則,其行為取決於特定的庫實現。

另見