raise
將訊號傳送到執行中的程式。
注意
請勿使用此方法來關閉 Microsoft Store 應用程式,但測試或偵錯案例除外。 根據 Microsoft 市集原則,不允許以程式設計或 UI 方式關閉市集應用程式。 如需詳細資訊,請參閱 UWP 應用程式生命週期。
語法
int raise(
int sig
);
參數
sig
要產生的訊號。
傳回值
如果成功,raise
會傳回 0。 否則,它會傳回非零值。
備註
函式 raise
會傳送 sig
至執行中的程式。 如果 先前對 signal
的呼叫已安裝 的 sig
訊號處理函式, raise
則會執行該函式。 如果未安裝處理程式函式,則會採取與訊號值 sig
相關聯的默認動作,如下所示。
訊號 | 描述 | 預設行為 |
---|---|---|
SIGABRT |
異常終止 | 結束呼叫程式,結束代碼 3 |
SIGFPE |
浮點錯誤 | 結束呼叫程式 |
SIGILL |
不合法的指令 | 結束呼叫程式 |
SIGINT |
CTRL+C 中斷 | 結束呼叫程式 |
SIGSEGV |
不合法的儲存體存取 | 結束呼叫程式 |
SIGTERM |
終止傳送給程式的要求 | 忽略訊號 |
如果自變數不是上述指定的有效訊號,則會叫用無效的參數處理程式,如參數驗證中所述。 如果未處理,則此函式會將 errno
設為 EINVAL
並傳回非零值。
根據預設,此函式的全域狀態會限定於應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。
需求
常式 | 必要的標頭 |
---|---|
raise |
<signal.h> |
如需相容性詳細資訊,請參閱相容性。