二、訊號的基礎
1、什麼是訊號
訊號就是」軟中斷「
軟中斷就是軟體模擬的中斷機制。
2、中斷是什麼
正常的執行流程,訊號處理程式是兩條執行路線,但是屬於同乙個程序
3、系統為我們提供了哪些訊號?
【kill -l】察看系統的中斷 64個訊號,32,33沒有
tarena@ubuntu
:~$ kill -l
1) sighup
2) sigint
3) sigquit
4) sigill
5) sigtrap
6) sigabrt
7) sigbus
8) sigfpe
9) sigkill
10) sigusr1
11) sigsegv
12) sigusr2
13) sigpipe
14) sigalrm
15) sigterm
16) sigstkflt
17) sigchld
18) sigcont
19) sigstop
20) sigtstp
21) sigttin
22) sigttou
23) sigurg
24) sigxcpu
25) sigxfsz
26) sigvtalrm
27) sigprof
28) sigwinch
29) sigio
30) sigpwr
31) sigsys
34) sigrtmin
35) sigrtmin+1
36) sigrtmin+2
37) sigrtmin+3
38) sigrtmin+4
39) sigrtmin+5
40) sigrtmin+6
41) sigrtmin+7
42) sigrtmin+8
43) sigrtmin+9
44) sigrtmin+10
45) sigrtmin+11
46) sigrtmin+12
47) sigrtmin+13
48) sigrtmin+14
49) sigrtmin+15
50) sigrtmax-14
51) sigrtmax-13
52) sigrtmax-12
53) sigrtmax-11
54) sigrtmax-10
55) sigrtmax-9
56) sigrtmax-8
57) sigrtmax-7
58) sigrtmax-6
59) sigrtmax-5
60) sigrtmax-4
61) sigrtmax-3
62) sigrtmax-2
63) sigrtmax-1
64) sigrtmax
ctrl+c:發的就是2號訊號
ctrl+\:是3號訊號
10.12號是使用者自定義
段錯誤就是11號產生的
4、訊號有名字和編號
5、訊號的產生到消失的過程
訊號的產生,訊號的遞達程序,訊號處理
6、訊號的未決狀態
就是訊號產生了,但是訊號還沒有被程序處理,這期間,訊號的狀態為未決狀態
程序可以對訊號進行阻塞(這時也處於未決狀態)(訊號到了但是不處理)
C語言 unix c 訊號阻塞和未決訊號
五 訊號阻塞和未決訊號 訊號集型別 sigset t 系統對sigset t型別進行了封裝 include int sigemptyset sigset t set 功能 初始化訊號集,不包含任何訊號 引數 set 指定要初始化的訊號集 返回值 0 成功 1 錯誤 int sigfillset si...
C語言 unix c 如何改變訊號的處理方式
程序對訊號的處理有預設動作。預設處理是終止程序。對訊號的處理有3種方式 預設處理,忽略訊號,使用者自定義 sig dfl 預設 sig ign 忽略 doit 這裡的名字自己定義,doit只是為了佔位 使用者自定義的訊號處理函式 子程序從父程序繼承訊號處理函式 bash的訊號繼承是預設處理 終止程序...
C語言 unix c 動態載入
動態載入 在程式中根據程式的需要,動態載入某個庫函式,這種行為稱為動態載入,系統為實現動態載入提供了一下函式 man 3 dlopen顯示幫助 標頭檔案 include void dlopen const char filename,int flag 引數 filename 制定了動態庫的檔案名字 ...