訊號是一種軟中斷,是一種處理非同步事件的方法。一般來說,作業系統都支援許多訊號。尤其是unix,比較重要應用程式一般都會處理訊號。unix定義了許多訊號,比如sigint表示中斷字元訊號,也就是ctrl+c的訊號,sigbus表示硬體故障的訊號;sigchld表示子程序狀態改變訊號;sigkill表示終止程式執行的訊號,等等。訊號量程式設計是unix下非常重要的一種技術。
unix訊號量也可以在檔案/usr/include/sys/signal.h中檢視
#define sighup 程序由於控制終端死去或者控制終端發出起命令
#define sigint 鍵盤中斷所產生的訊號
#define sigquit 鍵盤終止
#define sigill 非法的指令
#define sigtrap 程序遇到乙個追蹤(trace)或者是乙個中斷巢狀
#define sigabrt 由abort系統呼叫所產生的中斷訊號
#define sigiot 類似於sigabrt
#define sigbus 程序試圖使用不合理的記憶體
#define sigfpe 浮點異常
#define sigkill kill
#define sigusr1 使用者自定義
#define sigsegv 段錯誤
#define sigusr2 使用者自定義
#define sigpipe 管道操作時沒有讀只寫
#define sigalrm 由alarm系統呼叫產生的timer時鐘訊號
#define sigterm 收到終端訊號的程序
#define sigstkflt 堆疊錯誤
#define sigchld 子程序向父程序發出的子程序已經stop或者終止的訊號
#define sigcont 繼續執行的訊號
#define sigstop stop
#define sigtstp 鍵盤所產生的stop訊號
#define sigttin 當執行在後狀態時卻需要讀取stdin的資料
#define sigttou 當執行在後狀態時卻需要寫向stdout
#define sigurg socket的緊急情況
#define sigxcpu 程序超額使用cpu分配的時間
#define sigxfsz 程序使用了超出系統規定檔案長度的檔案
#define sigvtalrm 內部的alarm時鐘過期
#define sigprof 在乙個程式段中描繪時鐘集過期
#define sigwinch 終端視窗的改變
#define sigio 非同步io
#define sigpoll sigio pollable事件發生
通過結合trap命令使用:trap
以上這些unix訊號量的知識,希望大家能夠記住,方便以後我們的使用。
列舉你能想到的UNIX訊號,並說明訊號用途
訊號是一種軟中斷,是一種處理非同步事件的方法。一般來說,作業系統都支援許多訊號。尤其是unix,比較重要應用程式一般都會處理訊號。unix定義了許多訊號,比如sigint表示中斷字元訊號,也就是ctrl c的訊號,sigbus表示硬體故障的訊號 sigchld表示子程序狀態改變訊號 sigkill表...
列舉你能想到的UNIX訊號,並說明訊號用途
訊號是一種軟中斷,是一種處理非同步事件的方法。一般來說,作業系統都支援許多訊號。尤其是unix,比較重要應用程式一般都會處理訊號。unix定義了許多訊號,比如sigint表示中斷字元訊號,也就是ctrl c的訊號,sigbus表示硬體故障的訊號 sigchld表示子程序狀態改變訊號 sigkill表...
Unix訊號說明
1 sighup 2 sigint 3 sigquit 4 sigill 5 sigtrap 6 sigabrt 7 sigemt 8 sigfpe 9 sigkill 10 sigbus 11 sigsegv 12 sigsys 13 sigpipe 14 sigalrm 15 sigterm 1...