訊號基本概念

2021-07-16 04:25:30 字數 3356 閱讀 3411

sighup     終止程序     終端線路結束通話

sigint     終止程序     中斷程序

sigquit   建立core檔案終止程序,並且生成core檔案

sigill   建立core檔案       非法指令

sigtrap   建立core檔案       跟蹤自陷

sigbus   建立core檔案       匯流排錯誤

sigsegv   建立core檔案       段非法錯誤

sigfpe   建立core檔案       浮點異常

sigiot   建立core檔案       執行i/o自陷

sigkill   終止程序     殺死程序

sigpipe   終止程序     向乙個沒有讀程序的管道寫資料

sigalarm   終止程序     計時器到時

sigterm   終止程序     軟體終止訊號

sigstop   停止程序     非終端來的停止訊號

sigtstp   停止程序     終端來的停止訊號

sigcont   忽略訊號     繼續執行乙個停止的程序

sigurg   忽略訊號     i/o緊急訊號

sigio     忽略訊號     描述符上可以進行i/o

sigchld   忽略訊號     當子程序停止或退出時通知父程序

sigttou   停止程序     後台程序寫終端

sigttin   停止程序     後台程序讀終端

sigxgpu   終止程序     cpu時限超時

sigxfsz   終止程序     檔案長度過長

sigwinch   忽略訊號     視窗大小發生變化

sigprof   終止程序     統計分布圖用計時器到時

sigusr1   終止程序     使用者定義訊號1

sigusr2   終止程序     使用者定義訊號2

sigvtalrm 終止程序     虛擬計時器到時

sigabrt

由呼叫abort函式產生,程序非正常退出

sigalrm

用alarm函式設定的timer超時或setitimer函式設定的interval timer超時

sigbus

某種特定的硬體異常,通常由記憶體訪問引起

sigcancel

由solaris thread library內部使用,通常不會使用

sigchld

程序terminate或stop的時候,sigchld會傳送給它的父程序。預設情況下該signal會被忽略

sigcont

當被stop的程序恢復執行的時候,自動傳送

sigemt

和實現相關的硬體異常

sigfpe

數學相關的異常,如被0除,浮點溢位,等等

sigfreeze

solaris專用,hiberate或者suspended時候傳送

sighup

傳送給具有terminal的controlling process,當terminal被disconnect時候傳送

sigill

非法指令異常

siginfo

bsd signal。由status key產生,通常是ctrl+t。傳送給所有foreground group的程序

sigint

由interrupt key產生,通常是ctrl+c或者delete。傳送給所有foreground group的程序

sigio

非同步io事件

sigiot

實現相關的硬體異常,一般對應sigabrt

sigkill

無法處理和忽略。中止某個程序

siglwp

由solaris thread libray內部使用

sigpipe

在reader中止之後寫pipe的時候傳送

sigpoll

當某個事件傳送給pollable device的時候傳送

sigprof

setitimer指定的profiling interval timer所產生

sigpwr

和系統相關。和ups相關。

sigquit

輸入quit key的時候(ctrl+\)傳送給所有foreground group的程序

sigsegv

非法記憶體訪問

sigstkflt

linux專用,數學協處理器的棧異常

sigstop

中止程序。無法處理和忽略。

sigsys

非法系統呼叫

sigterm

請求中止程序,kill命令預設傳送

sigthaw

solaris專用,從suspend恢復時候傳送

sigtrap

實現相關的硬體異常。一般是除錯異常

sigtstp

suspend key,一般是ctrl+z。傳送給所有foreground group的程序

sigttin

當background group的程序嘗試讀取terminal的時候傳送

sigttou

當background group的程序嘗試寫terminal的時候傳送

sigurg

當out-of-band data接收的時候可能傳送

sigusr1

使用者自定義signal 1

sigusr2

使用者自定義signal 2

sigvtalrm

setitimer函式設定的virtual interval timer超時的時候

sigwaiting

solaris thread library內部實現專用

sigwinch

當terminal的視窗大小改變的時候,傳送給foreground group的所有程序

sigxcpu

當cpu時間限制超時的時候

sigxfsz

程序超過檔案大小限制

sigxres

solaris專用,程序超過資源限制的時候傳送

訊號基本概念

訊號是資訊的載體,linux unix環境下,古老 經典的通訊方式,現下依然是最主要的通訊手段。a給b傳送訊號,b收到訊號之前執行自己的 收到訊號後,不管執行到程式的什麼位置,都要暫停執行,去處理訊號,處理完畢再繼續執行。訊號是軟體層面上實現的中斷,早期稱為 軟中斷 產生訊號 遞達 遞送並且到達程序...

Linux訊號的基本概念

天天在用訊號,它的概念你可知道地準確?訊號機制是一種使用訊號來進行程序之間傳遞資訊 的方法,其中訊號的全稱為軟中斷訊號,簡稱軟中斷。訊號只是用 來通知程序發生了什麼事情,並不給程序傳遞資料。訊號都有乙個預設值,且有3種處理方式 退出,忽視,註冊函式。訊號的幾個缺點 1.系統開銷太大 2.傳送訊號的程...

linux訊號的基本概念

訊號 訊號 是乙個軟體中斷 通知程序發生了某件事情,中斷程序當前操作 讓程序去處理這件事。前提 必須識別這個訊號 訊號種類有很多。每個都代表不同事件。訊號是有生命週期 產生 註冊 登出 處理 阻塞 阻止訊號被處理 作業系統中定義的訊號種類 檢視訊號種類 kill l 總共62種,1 31非可靠訊號 ...