UNIX訊號及訊號用途

2021-08-15 22:42:23 字數 1529 閱讀 4151

訊號是一種軟中斷,是一種處理非同步事件的方法。一般來說,作業系統都支援許多訊號。尤其是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...