訊號是一種軟中斷,是一種處理非同步事件的方法。一般來說,作業系統都支援許多訊號。尤其是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表...
提到執行緒你能想到什麼?
面試的時候總是會提及到這個關於執行緒的問題。自己根據看到的資料和自己的理解想到的,大概會有不全的地方 說到執行緒,首先說一下程序。執行緒是如何建立的 1 通過繼承thread類來實現,重寫 run方法,通過new thread 來建立執行緒的例項化物件,呼叫start 方法就可以啟動乙個執行緒 2 ...
看「黃宗澤」的經歷,你能想到什麼?
黃宗澤,不像大部分讀書不成 被迫 入行的年輕人,他的學業成績不算差,讀完中七,可以選擇公升學。他選擇無線。跟張柏芝拍陽光檸檬茶廣告,女主角一步登天,男配角由路人甲開始,然後轉做 節目 旅遊節目的主持,再等兩三年,角色開始有屬於自己的名字,阿強阿偉阿傑也好,總算行前一步。剛剛進入無線,感覺很無聊,沒事...