編號
訊號名稱
預設動作
描述sighup
終止終止程序,掛起
sigint
終止鍵盤輸入中斷命令,一般是ctrl+c
sigquit
coredump
鍵盤輸入退出命令,一般是ctrl+\
sigill
coredump
非法指令
sigtrap
coredump
trap指令發出,一般除錯用
sigabrt
coredump
abort(3)發出的終止訊號
sigbus
coredump
非法位址
sigfpe
coredump
浮點數異常
sigkill
終止立即停止程序,不能捕獲,不能忽略
sigusr1
終止使用者自定義訊號1,像nginx就支援usr1訊號,用於過載配置,重新開啟日誌
sigse**
coredump
無效記憶體引用
sigusr2
終止使用者自定義訊號2
sigpipe
終止管道不能訪問
sigalrm
終止時鐘訊號,alrm(2)發出的終止訊號
sigterm
終止終止訊號,程序會先關閉正在執行的任務或開啟的檔案再終止,有時間程序在有執行的任務而忽略此訊號。不能捕捉
sigstkflt
終止處理器棧錯誤
sigchld
可忽略子程序結束時,父程序收到的訊號
sigcont
可忽略讓終止的程序繼續執行
sigstop
停止停止程序,不能忽略,不能捕獲
sigstp
停止停止程序,一般是ctrl+z
sigttin
停止後台程序從終端讀資料
sigttou
停止後台程序從終端寫資料
sigurg
可忽略緊急陣列是否到達socket
sigxcpu
coredump
超出cpu占用資源限制
sigxfsz
coredump
超出檔案大小資源限制
si**talrm
終止虛擬時鐘訊號,類似於sigalrm,但計算的是程序占用的時間
sigprof
終止類似與sigalrm,但計算的是程序占用cpu的時間
sigwinch
可忽略視窗大小改變發出的訊號
sigio
終止檔案描述符準備就緒,可以輸入/輸出操作了
sigpwr
終止電源失敗
sigsys
coredump
非法系統呼叫
注意:9 訊號,捕獲不住,也無法忽略。
1.2、linux支援的兩種訊號型別
1、標準訊號,編號1-31,稱為非可靠訊號(非實時),不支援佇列,訊號可能會丟失,比如傳送多次相同的訊號,程序只能收到一次,如果第乙個訊號沒有處理完,第二個訊號將會丟棄。
2、擴充套件訊號,編號32-64,稱為可靠訊號(實時),支援佇列,發多少次程序就可以收到多少次。
1.3、傳送訊號的兩種情況
trap ' 觸發指令' 訊號
自定義程序收到系統發出的指定訊號後,將執行觸發指令,而不會執行原操作
trap '' 訊號
忽略訊號的操作
trap '-' 訊號
恢復原訊號的操作
trap -p
列出自定義訊號操作
訊號可以3種表達方法:訊號的數字2、全名sigint、縮寫int
3、trap例項應用例1:列印0-9,ctrl+c不能終止
#!/bin/bash
trap 'echo press ctrl+c' 2
for ((i=0;i<10;i++));do
sleep 1
echo $i
done
分析:i=0,當i<10,每休眠1秒,i+1,捕獲2訊號(也就是鍵盤ctrl+c),並把echo後面的內容輸入到終端螢幕。
例2:列印0-5,ctrl+c不能終止,5之後恢復,能終止
#!/bin/bash
trap '' 2
trap -p
for ((i=0;i<5;i++));do
sleep 1
echo $i
done
trap '-' sigint
for ((i=5;i<20;i++));do
sleep 1
echo $i
done
分析:i=0,當i<5,每休眠1秒,i+1,捕獲2訊號;i>5時,解除捕獲2訊號。
frame框架及其例項
框架概念 謂框架便是網頁畫面分成幾個框窗,同時取得多個 url。只需要 即可,面所有框架標記需要放在乙個總起的 html 檔,這個檔案只記錄了該框架如何分割 不會顯示任何資料,所以不必放入 標記,瀏覽這框架必須讀取這檔案 面不是其他框窗的檔案。是用來劃分框窗,每一窗框由乙個 標 記所標示,必須在 範...
黑盒測試及其例項
一 黑盒測試 黑盒測試是指對程式功能性的測試,也就是不考慮內部的具體實現,僅僅就程式的功能是否滿足需求進行測試,相當於乙個看不見內部的黑盒子。二 黑盒測試的作用 黑盒測試主要是注重功能的測試,包括 功能的完整性,正確性測試 介面錯誤 輸入和輸出錯誤 資料庫訪問錯誤 效能錯誤 初始化和停止錯誤等等 三...
Java abstract關鍵字及其例項
package c abstract關鍵字用於修飾方法和類,分別稱為抽象方法和抽象類 採用abstract關鍵字修飾的方法稱為抽象方法,這種方法只有方法宣告,而沒有方法體及具體實現的步驟 抽象方法只能在抽象類中定義,並且抽象方法中不能用static final private修飾符,抽象方法只有在子...