|
xf4fucpuviv6403894256.gif (60.41 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
xf4fucpuviv6403894256.gif
2024-9-4 09:45 上傳
! O4 @6 N/ j, O' ]' _- g( r4 x點(diǎn)擊上方藍(lán)色字體,關(guān)注我們
+ x f: K& {/ ]8 a; [0 a信號(hào)是一種軟件中斷,用于通知進(jìn)程發(fā)生了某種異步事件。信號(hào)可以由用戶、其他進(jìn)程或操作系統(tǒng)內(nèi)核產(chǎn)生。進(jìn)程可以選擇捕獲并處理這些信號(hào),或者忽略它們,讓系統(tǒng)執(zhí)行默認(rèn)操作。
- S6 \) b: ?3 d" G
+ n& l" ?. p+ l5 B2 |) j+ d: t
zgxxwxna3hd6403894356.png (76.48 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
zgxxwxna3hd6403894356.png
2024-9-4 09:45 上傳
; {, X7 R- k( H0 D+ [
" i S* ]: a4 J& p9 p- |
不可靠信號(hào)(非實(shí)時(shí)信號(hào)):編號(hào)為 1~31 的信號(hào)。它們的行為可能因?qū)崿F(xiàn)而異,特別是在信號(hào)被阻塞或忽略的情況下。如果多個(gè)相同的不可靠信號(hào)在短時(shí)間內(nèi)連續(xù)到達(dá),它們可能會(huì)合并成一個(gè)信號(hào)。可靠信號(hào)(實(shí)時(shí)信號(hào)):編號(hào)為 34~64 的信號(hào)。它們的行為在所有 POSIX 兼容的系統(tǒng)上都是相同的。可靠信號(hào)不會(huì)合并,即使它們?cè)诙虝r(shí)間內(nèi)連續(xù)到達(dá)?煽啃盘(hào)支持排隊(duì),這意味著如果一個(gè)可靠信號(hào)被阻塞,它將被存儲(chǔ)在隊(duì)列中,直到信號(hào)處理程序準(zhǔn)備就緒。
. A9 a5 D8 g2 y
9 A( T, x- [5 t1 g, |$ v2 O0 g常見信號(hào)的用途和系統(tǒng)默認(rèn)操作如下:
) e A. ]/ c2 r. k0 x2 V, o# ?' J5 {, v$ `" A9 I8 y
1yrdwk1ux4k6403894456.png (436.59 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
1yrdwk1ux4k6403894456.png
2024-9-4 09:45 上傳
; w {8 U$ k0 ~' a$ i
. i2 V/ ?" y1 i, F- `" ?
SIGINT (2)4 H1 W q6 I7 y Y: N
觸發(fā)方式:當(dāng)用戶在終端按下中斷字符(通常是CTRL+C)。默認(rèn)操作:終止進(jìn)程。描述:用于中斷正在運(yùn)行的前臺(tái)進(jìn)程,是常用的終止命令。) w& c* u. V! `. p
E n8 M% [% m$ x7 Y
' y; l! Y) ?( _3 ASIGQUIT (3)
6 z4 z l/ x' q5 s H3 {觸發(fā)方式:當(dāng)用戶在終端按下退出字符(通常是CTRL+\)。默認(rèn)操作:終止進(jìn)程并生成核心轉(zhuǎn)儲(chǔ)文件。描述:用于在程序進(jìn)入無限循環(huán)或不響應(yīng)時(shí)終止進(jìn)程,并生成調(diào)試用的核心文件。& X& H4 f) ?9 \7 L6 p
% a& y5 i& z% }: J
3 d2 ]+ t, D/ e" [) X8 S
SIGILL (4)
4 l9 L1 N8 k& k8 y觸發(fā)方式:進(jìn)程嘗試執(zhí)行非法的機(jī)器語言指令。默認(rèn)操作:終止進(jìn)程。描述:用于指示程序執(zhí)行了無效的操作碼,通常表示程序代碼損壞或內(nèi)存越界。
" Y) U) T4 X0 Q
: N. J+ _5 D J8 c# R- `4 z/ ^! K% S+ l% `- B
SIGABRT (6)
. S# w7 y W; @* p0 A# [觸發(fā)方式:當(dāng)進(jìn)程調(diào)用abort()系統(tǒng)調(diào)用。默認(rèn)操作:終止進(jìn)程并生成核心轉(zhuǎn)儲(chǔ)文件。描述:用于指示進(jìn)程自身發(fā)現(xiàn)了嚴(yán)重錯(cuò)誤,并請(qǐng)求自我終止。
) t2 b& O* N4 Q! W6 Z
* @7 ?* D U/ S; ~$ h1 J
) `2 j2 r2 ~9 i5 LSIGBUS (7). X2 i7 T2 f5 n
觸發(fā)方式:發(fā)生總線錯(cuò)誤(例如錯(cuò)誤的內(nèi)存訪問)。默認(rèn)操作:終止進(jìn)程。描述:指示內(nèi)存訪問沖突,通常與硬件有關(guān)。4 T. Z" r @1 F- ~" O
" N9 M4 Y3 j% {# H- q; I; ~. `" y# A9 Y4 J. Y9 h0 y) J
SIGFPE (8)* f( {, m5 h; g
觸發(fā)方式:特定類型的算術(shù)錯(cuò)誤(例如除以零)。默認(rèn)操作:終止進(jìn)程。描述:用于表示浮點(diǎn)運(yùn)算錯(cuò)誤或其他算術(shù)異常。
8 _ s2 _* U: N1 }8 u, C7 y
9 M6 l0 F7 u0 t5 i5 p1 s! K: s- p2 }
SIGKILL (9)
& i; ^% r8 h. O( a觸發(fā)方式:通過kill -9命令或系統(tǒng)直接發(fā)送。默認(rèn)操作:立即終止進(jìn)程。描述:是無法被捕獲或忽略的“必殺”信號(hào),用于強(qiáng)制終止進(jìn)程。
$ B1 E: D2 W: a* j% A2 u! m1 f3 c! ^: E: o# h" y! q
9 v, y! r5 j7 b+ r5 V @# PSIGUSR1 (10)
, I/ X' E% t, h" G+ H觸發(fā)方式:用戶定義的信號(hào),供程序員自定義使用。默認(rèn)操作:終止進(jìn)程。描述:用戶程序可以使用此信號(hào)進(jìn)行進(jìn)程間通信或事件通知。: U5 ]- m4 D% k7 b/ Q0 M
$ H4 G0 r- k* a! G c# a- T
- B1 P9 g0 z( q6 |: jSIGSEGV (11)3 M/ m# y4 k9 U& L) }$ D" K, E n
觸發(fā)方式:進(jìn)程嘗試訪問無效的內(nèi)存地址。默認(rèn)操作:終止進(jìn)程。描述:常見于指針錯(cuò)誤或無效內(nèi)存訪問操作,通常會(huì)導(dǎo)致程序崩潰。. G g& u6 `% u$ G
, C6 Z4 ?% b7 I4 L# V+ z# |6 v! V I& |
SIGUSR2 (12)" C; y1 p6 B2 }' M: r, P/ l N/ Y
觸發(fā)方式:與SIGUSR1類似,供用戶自定義使用。默認(rèn)操作:終止進(jìn)程。描述:供程序員自定義,用于進(jìn)程間通信或自定義處理邏輯。- b, V: O9 Y- w0 e( n
; P) F0 d& i- C' ?) D1 c% X8 Q( z
8 }! y6 I8 N6 b* z# U/ fSIGPIPE (13)8 j0 j _, z9 e5 V. o
觸發(fā)方式:進(jìn)程向已關(guān)閉的管道或套接字寫入數(shù)據(jù)。默認(rèn)操作:終止進(jìn)程。描述:當(dāng)嘗試向無效的通信通道寫入數(shù)據(jù)時(shí)觸發(fā),通常用于通知進(jìn)程通信失敗。* z+ s7 U; e0 p) E. w {3 w
; ]3 i" C. t2 j4 H/ E- Q1 S- K' m) j3 h" E' k" h
SIGALRM (14)
2 w2 H% [2 v0 y* b觸發(fā)方式:定時(shí)器到期(由alarm()或setitimer()設(shè)置)。默認(rèn)操作:終止進(jìn)程。描述:常用于定時(shí)操作,信號(hào)觸發(fā)后通常終止程序或進(jìn)行某種處理。; ?# W* V& u- p% W- c; p# X3 _
. m5 _' V0 s _: b
9 i6 t ]: j! OSIGTERM (15)- e6 i* X( Y/ K
觸發(fā)方式:通過kill命令(不帶-9選項(xiàng))。默認(rèn)操作:終止進(jìn)程。描述:用于請(qǐng)求進(jìn)程正常終止,通常用于優(yōu)雅地關(guān)閉應(yīng)用程序。: k# @6 z+ e' b+ l7 i" a
9 E9 J# J3 V7 L2 |3 D: l
; j* Q% _2 e0 U6 ?1 T* YSIGCHLD (17)0 t* T6 A+ P6 [) d
觸發(fā)方式:子進(jìn)程終止或狀態(tài)改變。默認(rèn)操作:忽略信號(hào)。描述:父進(jìn)程用來得知子進(jìn)程終止或狀態(tài)改變,默認(rèn)忽略,父進(jìn)程可選擇處理。
4 d" w E4 x7 U2 t6 W" t* m( s
1 B. V0 i# M7 I. [) ]3 a! D* m* V; V% u: C/ k
SIGCONT (18)
* b* t8 u7 R5 w% h觸發(fā)方式:恢復(fù)已停止的進(jìn)程。默認(rèn)操作:繼續(xù)運(yùn)行進(jìn)程。描述:發(fā)送給已停止的進(jìn)程,使其恢復(fù)執(zhí)行。( b0 J6 y% W2 C. A
0 q: K' U% i. A; J2 V- a5 Y) H' ^# ^# q& U# Q
SIGSTOP (19). z+ J: X. F# }
觸發(fā)方式:強(qiáng)制停止進(jìn)程。默認(rèn)操作:停止進(jìn)程。描述:無法捕獲或忽略的“必停”信號(hào),用于暫停進(jìn)程執(zhí)行。. d2 @* c) _! u. I0 y
+ d) k' X! e9 N* F& D3 F
! C1 c+ t _% w# O* JSIGTSTP (20)) [# B. K" v/ i. Y6 W6 i, e
觸發(fā)方式:用戶在終端按下停止字符(CTRL+Z)。默認(rèn)操作:停止進(jìn)程。描述:用于暫停前臺(tái)進(jìn)程組中的進(jìn)程,常用于暫停任務(wù)。
6 x2 ]& l& }, U4 |1 L# I4 e0 L
0 \9 O: S3 b5 j# _! N& P, H# C* L+ T! L/ J# O- S# D6 m0 [2 Y
SIGXCPU (24)7 M# B: B: \( L( l5 K% Z
觸發(fā)方式:進(jìn)程CPU時(shí)間超出限制。默認(rèn)操作:終止進(jìn)程。描述:通常用于檢測(cè)進(jìn)程占用CPU過多時(shí)間,可能引發(fā)警告或終止進(jìn)程。
# f+ v- z) h% Z/ P& X
7 w. p( u; r% n5 W {
9 n9 n% S5 z) ]! k O! mSIGVTALRM (26)9 M! Y' ~) D7 W' ]- S4 e S% p
觸發(fā)方式:虛擬定時(shí)器到期(由setitimer()設(shè)置)。默認(rèn)操作:終止進(jìn)程。描述:用于虛擬定時(shí)器管理,定時(shí)器到期后觸發(fā)信號(hào)。
. L4 K0 _! Y& n. k
, D1 r m) a4 TSIGWINCH (28)9 W0 s2 p4 A, h& [
觸發(fā)方式:終端窗口大小改變。默認(rèn)操作:忽略信號(hào)。描述:當(dāng)終端窗口調(diào)整大小時(shí),前臺(tái)進(jìn)程會(huì)接收到此信號(hào)。! G/ _8 {7 k. M# W) z0 F" l' u* Q
5 s* h! h! z# Y5 t. m2 k8 _
( R9 p5 n5 Y. h7 g# vSIGPOLL/SIGIO (29)
1 E9 a R9 \. F# [* i9 ]6 a觸發(fā)方式:異步I/O事件發(fā)生。默認(rèn)操作:終止進(jìn)程。描述:用于異步I/O操作,通知進(jìn)程文件描述符的I/O事件。% m2 Z& ?* C# ?1 E
9 {6 N7 P0 j8 W' d0 x+ S- x* PSIGSYS (31)
/ _; v' x- ? e/ y5 @% G( L觸發(fā)方式:進(jìn)程發(fā)起了無效的系統(tǒng)調(diào)用。默認(rèn)操作:終止進(jìn)程。描述:通常用于捕獲非法系統(tǒng)調(diào)用或程序錯(cuò)誤。8 @0 _/ p. A$ {/ R
9 I3 h5 J9 `4 s& r這些信號(hào)為L(zhǎng)inux進(jìn)程提供了豐富的控制和通信機(jī)制。了解這些信號(hào)及其默認(rèn)行為,有助于編寫更加健壯的程序,并能夠有效處理各種異常和中斷。* ?/ F B4 F9 U$ r# d; y) B O# V
; f! q, j. d8 C8 e* |3 T
dobdp1g01mo6403894556.jpg (71.14 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
dobdp1g01mo6403894556.jpg
2024-9-4 09:45 上傳
9 q. x" s- A7 ^$ b; B( E
yrkuokddsgw6403894656.gif (45.46 KB, 下載次數(shù): 0)
下載附件
保存到相冊(cè)
yrkuokddsgw6403894656.gif
2024-9-4 09:45 上傳
$ ^7 u2 D6 _$ e3 H9 W點(diǎn)擊閱讀原文,更精彩~ |
|