linux訊號之作業控制

2021-10-08 19:18:39 字數 1031 閱讀 5321

posix.1 中與作業控制有關的訊號,如下

sigchld:子程序已停止或終止。

在乙個程序終止或停止時,s i g c h l d訊號被送給其父程序。按系統預設,將忽略此訊號。如果父程序希望了解其子程序的這種狀態改變,則應捕捉此訊號。訊號捕捉函式中通常要呼叫w a i t函式以取得子程序i d和其終止狀態。

sigcont如果程序已停止,則使其繼續執行。

此作業控制訊號送給需要繼續執行的處於停止狀態的程序。如果接收到此訊號的程序處於停止狀態,則系統預設動作是使該程序繼續執行,否則預設動作是忽略此訊號。例如,v i編輯程式在捕捉到此訊號後,重新繪製終端螢幕。

sigstop停止訊號(不能**捉或忽略)。

sigtstp互動停止訊號。當使用者在終端上按掛起鍵 (一般採用c t r l - z)時,終端驅動程式產生此訊號。

sigttin後台程序組的成員讀控制終端。

當乙個後台程序組程序試圖讀其控制終端時,終端驅動程式產生此訊號。下列例外情形下不產生此訊號,此時讀操作返回出錯, e r r n o設定為e i o:( a )讀程序忽略或阻塞此訊號,或( b )讀程序所屬的程序組是孤兒程序組。

sigttou-後台程序組的成員寫控制終端。

當乙個後台程序組程序試圖寫其控制終端時產生此訊號。與上面所述的s i g t t i n訊號不同,乙個程序可以選擇為允許後台程序寫控制終端。如果不允許後台程序寫,則與s i g t t i n相似也有兩種特殊情況:( a )寫程序忽略或阻塞此訊號,

或( b )寫程序所屬程序組是孤兒程序組。在這兩種情況下不產生此訊號,寫操作返回出錯,

e r r n o設定為e i o。

不論是否允許後台程序寫,某些除寫以外的下列終端操作也能產生此訊號: t c s e t a t t r,

tcsendbreak, tcdrain, tcflush, tcflow 以及t c s e t p g r p。

程序關係之作業控制

作業控制,它允許在乙個終端上啟動多個 作業 程序組 它控制哪乙個作業可以訪問該終端,以及哪些作業在後台執行。作業控制要求下面三種形式的支援 1 支援作業控制的shell。2 核心中的終端驅動程式必須支援作業控制。3 核心必須提供對某些作業控制訊號的支援。從shell使用作業控制功能角度講,使用者可以...

10 21 作業控制訊號

posix.1使用了六個訊號來實現作業控制 圖10.31中的程式闡述了當乙個程序處理作業控制的時候的正常的 序列。該程式只是簡單地複製其標準輸入到其標準輸出,但是在訊號處理函式中給出的注釋適用於管理螢幕的程式執行的典型動作。include apue.h static void sig tstp in...

Linux 作業控制

參考文獻 作業控制是bsd在1980年前後增加的乙個特性。它允許在乙個終端上啟動多個作業 程序組 它支援控制哪乙個作業可以訪問終端,以及哪些作業可以在後台執行。作業可以看做是shell管理的程序 主要有三點 支援作業控制的shell 核心中的終端驅動程式必須支援作業控制 核心必須提供對某些作業控制訊...