列舉你能想到的UNIX訊號,並說明訊號用途

2021-07-09 23:27:15 字數 1507 閱讀 7890

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

看「黃宗澤」的經歷,你能想到什麼?

黃宗澤,不像大部分讀書不成 被迫 入行的年輕人,他的學業成績不算差,讀完中七,可以選擇公升學。他選擇無線。跟張柏芝拍陽光檸檬茶廣告,女主角一步登天,男配角由路人甲開始,然後轉做 節目 旅遊節目的主持,再等兩三年,角色開始有屬於自己的名字,阿強阿偉阿傑也好,總算行前一步。剛剛進入無線,感覺很無聊,沒事...