信號是一種軟中斷,是一種處理異步事件的方法。一般來說,操作系統(tǒng)都支持許多信號。尤其是UNIX,比較重要應(yīng)用程序一般都會處理信號。
UNIX定義了許多信號,比如SIGINT表示中斷字符信號,也就是Ctrl+C的信號,SIGBUS表示硬件故障的信號;SIGCHLD表示子進程狀態(tài)改變信號;SIGKILL表示終止程序運行的信號,等等。信號量編程是UNIX下非常重要的一種技術(shù)。
Unix信號量也可以在文件/usr/include/sys/signal.h中查看
#define SIGHUP 進程由於控制終端死去或者控制終端發(fā)出起命令
#define SIGINT 鍵盤中斷所產(chǎn)生的信號
#define SIGQUIT 鍵盤終止
#define SIGILL 非法的指令
#define SIGTRAP 進程遇到一個追蹤(trace)或者是一個中斷嵌套
#define SIGABRT 由abort系統(tǒng)調(diào)用所產(chǎn)生的中斷信號
#define SIGIOT 類似於SIGABRT
#define SIGBUS 進程試圖使用不合理的記憶體
#define SIGFPE 浮點異常
#define SIGKILL KILL
#define SIGUSR1 用戶自定義
#define SIGSEGV 段錯誤
#define SIGUSR2 用戶自定義
#define SIGPIPE 管道操作時沒有讀只寫
#define SIGALRM 由alarm系統(tǒng)調(diào)用產(chǎn)生的timer時鐘信號
#define SIGTERM 收到終端信號的進程
#define SIGSTKFLT 堆疊錯誤
#define SIGCHLD 子進程向父進程發(fā)出的子進程已經(jīng)stop或者終止的信號
#define SIGCONT 繼續(xù)運行的信號
#define SIGSTOP stop
#define SIGTSTP 鍵盤所產(chǎn)生的stop信號
#define SIGTTIN 當運行在後狀態(tài)時卻需要讀取stdin的資料
#define SIGTTOU 當運行在後狀態(tài)時卻需要寫向stdout
#define SIGURG socket的緊急情況
#define SIGXCPU 進程超額使用CPU分配的時間
#define SIGXFSZ 進程使用了超出系統(tǒng)規(guī)定文件長度的文件
#define SIGVTALRM 內(nèi)部的alarm時鐘過期
#define SIGPROF 在一個程式段中描繪時鐘集過期
#define SIGWINCH 終端視窗的改變
#define SIGIO 非同步IO
#define SIGPOLL SIGIO pollable事件發(fā)生
通過結(jié)合trap命令使用:trap <command-list> <signal-list>
以上這些Unix信號量的知識,希望大家能夠記住,方便以后我們的使用。
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)廈門,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
分享文章:列舉你能想到的UNIX信號,并說明信號用途
文章鏈接:http://jinyejixie.com/article28/iejscp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、手機網(wǎng)站建設(shè)、微信公眾號、品牌網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)