Linux jappoġġja kemm sinjali POSIX affidabbli (minn hawn 'il quddiem "sinjali standard") u sinjali POSIX f'ħin reali.
Sinjali Standard
Linux jappoġġja s-sinjali standard elenkati hawn taħt. Diversi numri tas-sinjali huma dipendenti fuq l-arkitettura, kif indikat fil-kolonna "Valur". (Fejn jingħataw tliet valuri, l-ewwel wieħed normalment ikun validu għal alfa u sparc, nofs għal i386, ppc u sh, u l-aħħar wieħed għal mips.
A - tindika li sinjal huwa assenti fuq l-arkitettura korrispondenti.)
L-iskrizzjonijiet fil-kolonna "Azzjoni" tat-tabella jispeċifikaw l-azzjoni default għas-sinjal, kif ġej:
Terminu
L-azzjoni awtomatika hi li ttemm il-proċess.
Ign
L-azzjoni awtomatika hija li tinjora s-sinjal.
Core
L-azzjoni awtomatika hi li ttemm il-proċess u l-qalba tad-dump.
Waqfa
L-azzjoni awtomatika hi li twaqqaf il-proċess.
L-ewwelnett is-sinjali deskritti fl-istandard POSIX.1 oriġinali.
Sinjal | Valur | Azzjoni | Kumment |
jew mewt ta 'proċess ta' kontroll | |||
SIGINT | 2 | Terminu | Interruzzjoni minn tastiera |
SIGQUIT | 3 | Core | Nieqaf mit-tastiera |
SIGILL | 4 | Core | Istruzzjoni illegali |
SIGABRT | 6 | Core | Sinjal ta ' abort mill- abort (3) |
SIGFPE | 8 | Core | Eċċezzjoni ta 'punt flottanti |
SIGKILL | 9 | Terminu | Sinjal ta 'qtil |
SIGSEGV | 11 | Core | Referenza tal-memorja invalida |
SIGPIPE | 13 | Terminu | Pajp imkisser: ikteb fil-pajp mingħajr qarrejja |
SIGALRM | 14 | Terminu | Sinjal tal-arloġġ mill- allarm (2) |
SIGTERM | 15 | Terminu | Sinjal ta 'terminazzjoni |
SIGUSR1 | 30,10,16 | Terminu | Sinjal definit mill-utent 1 |
SIGUSR2 | 31,12,17 | Terminu | Sinjal definit mill-utent 2 |
SIGCHLD | 20,17,18 | Ign | It-tifel jitwaqqaf jew jintemm |
SIGCONT | 19,18,25 | Kompli jekk titwaqqaf | |
SIGSTOP | 17,19,23 | Waqfa | Proċess ta 'waqfien |
SIGTSTP | 18,20,24 | Waqfa | Waqqaf ittajpjat f'tty |
SIGTTIN | 21,21,26 | Waqfa | Tty input għal proċess ta 'sfond |
SIGTTOU | 22,22,27 | Waqfa | output tty għal proċess ta 'sfond |
Is-sinjali SIGKILL u SIGSTOP ma jistgħux jinqabdu, jiġu mblukkati, jew injorati.
Sussegwentement is-sinjali mhux fl-istandard POSIX.1 iżda deskritti f'SUSv2 u SUSv3 / POSIX 1003.1-2001.
Sinjal | Valur | Azzjoni | Kumment |
SIGPOLL | Terminu | Avveniment li jista 'jiġi mlaqqam (Sys V). Sinonimu ta 'SIGIO | |
SIGPROF | 27,27,29 | Terminu | It-timjil profiling skada |
SIGSYS | 12, -, 12 | Core | Argumenti ħżiena ta 'rutina (SVID) |
SIGTRAP | 5 | Core | Traċċa / nassa ta 'waqfa |
SIGURG | 16,23,21 | Ign | Kundizzjoni urġenti fuq sokit (4.2 BSD) |
SIGVTALRM | 26,26,28 | Terminu | Arloġġ ta 'allarm virtwali (4.2 BSD) |
SIGXCPU | 24,24,30 | Core | Il-limitu ta 'żmien tal-CPU qabeż (4.2 BSD) |
SIGXFSZ | 25,25,31 | Core | Il-limitu tad-daqs tal-fajl qabeż (4.2 BSD) |
Sa u inkluż Linux 2.2, l-imġiba awtomatika għal SIGSYS , SIGXCPU , SIGXFSZ , u (fuq arkitetturi minbarra SPARC u MIPS) SIGBUS kellha ttemm il-proċess (mingħajr dump prinċipali). (Fuq xi Unices oħra l-azzjoni awtomatika għal SIGXCPU u SIGXFSZ hija li ttemm il-proċess mingħajr dump prinċipali.) Linux 2.4 jikkonforma mal-ħtiġiet POSIX 1003.1-2001 għal dawn is-sinjali, u jtemm il-proċess b'qabża ewlenija.
Li jmiss diversi sinjali oħra.
Sinjal | Valur | Azzjoni | Kumment |
SIGEMT | 7, -, 7 | Terminu | |
SIGSTKFLT | -, 16, - | Terminu | Tneħħija tal-munzell fuq il-koproċċessur (mhux użat) |
SIGIO | 23,29,22 | Terminu | I / O issa possibbli (4.2 BSD) |
SIGCLD | -, -, 18 | Ign | Sinonimu għal SIGCHLD |
SIGPWR | 29,30,19 | Terminu | Nuqqas ta 'enerġija (Sistema V) |
SIGINFO | 29, -, - | Sinonimu għal SIGPWR | |
SIGLOST | -, -, - | Terminu | Lock tal-fajl mitluf |
SIGWINCH | 28,28,20 | Ign | Sinjal tat-tibdil tar-reqqa tat-tieqa (4.3 BSD, Sun) |
SIGUNUSED | -, 31, - | Terminu | Sinjal mhux użat (se jkun SIGSYS) |
(Is-Sinjal 29 huwa SIGINFO / SIGPWR fuq alfa iżda SIGLOST fuq sparc ).
SIGEMT mhijiex speċifikata f'POSIX 1003.1-2001, iżda qatt ma tidher fuq il-biċċa l-kbira ta 'Unices oħra, fejn l-azzjoni awtomatika tagħha tipikament ittemm il-proċess b'qabża ewlenija.
SIGPWR (li mhix speċifikata f'POSIX 1003.1-2001) tipikament tiġi injorata awtomatikament fuq dawk l-Unices oħra fejn jidher.
SIGIO (li mhux speċifikat f'POSIX 1003.1-2001) huwa injorat b'mod awtomatiku fuq bosta Unices oħra.
Sinjali f'ħin reali
Linux jappoġġja sinjali f'ħin reali kif oriġinarjament iddefinit fl-estensjonijiet POSIX.4 f'ħin reali (u issa inkluż f'POSIX 1003.1-2001). Linux jappoġġja 32 sinjal f'ħin reali, numerati minn 32 ( SIGRTMIN ) sa 63 ( SIGRTMAX ). (Il-programmi għandhom dejjem jirreferu għal sinjali f'ħin reali bl-użu ta 'notazzjoni SIGRTMIN + n, peress li l-firxa ta' numri tas-sinjali f'ħin reali tvarja minn Unices.)
B'differenza mis-sinjali standard, is-sinjali f'ħin reali m'għandhomx tifsiriet definiti minn qabel: is-sett sħiħ ta 'sinjali f'ħin reali jista' jintuża għal skopijiet iddefiniti mill-applikazzjoni. (Nota, madankollu, li l-implimentazzjoni ta 'LinuxThreads tuża l-ewwel tliet sinjali f'ħin reali.)
L-azzjoni awtomatika għal sinjal f'ħin reali mhux immaniġġjat huwa li ttemm il-proċess li jirċievi.
Is-sinjali fil-ħin reali huma distinti minn dawn li ġejjin:
- Eżempji multipli ta 'sinjali f'ħin reali jistgħu jkunu fil-kju. Min-naħa l-oħra, jekk diversi każijiet ta 'sinjal standard jiġu kkunsinnati waqt li dak is-sinjal bħalissa jkun imblukkat, allura istanza waħda biss tkun fil-kju.
- Jekk is-sinjal jintbagħat bl-użu ta ' sigqueue (2), jista' jintbagħat valur ta 'akkumpanjament (jew numru sħiħ jew pointer) bis-sinjal. Jekk il-proċess li jirċievi jistabbilixxi maniġer għal dan is-sinjal bl-użu tal-bandiera SA_SIGACTION għal sigaction (2) allura jista 'jikseb din id-dejta permezz tal-qasam tas- si_value tal- istruttura siginfo_t mgħoddija bħala t-tieni argument għall-handler. Barra minn hekk, l-oqsma si_pid u si_uid ta 'din l-istruttura jistgħu jintużaw biex jinkiseb l-ID tal-PID u l-utent reali tal-proċess li jibgħat is-sinjal.
- Is-sinjali f'ħin reali jingħataw b'ordni garantita. Sinjali f'ħin reali ta 'l-istess tip jingħataw fl-ordni li ntbagħtu. Jekk sinjali differenti f'ħin reali jintbagħtu lil proċess, huma jitwasslu billi jibdew bis-sinjal l-aktar baxx. (Jiġifieri, sinjali b'numru baxx għandhom l-ogħla prijorità.)
Jekk iż-żewġ sinjali standard u f'ħin reali huma pendenti għal proċess, il-POSIX iħalliha mhux speċifikata li tingħata l-ewwel. Linux, bħal ħafna implimentazzjonijiet oħra, jagħti prijorità lis-sinjali standard f'dan il-każ.
Skont POSIX, implimentazzjoni għandha tippermetti mill-inqas _POSIX_SIGQUEUE_MAX (32) sinjali f'ħin reali li jkunu fil-kju għal proċess. Madankollu, minflok ma jqiegħed limitu ta 'kull proċess, Linux jimponi limitu fuq is-sistema kollha fuq in-numru ta' sinjali f'ħin reali fil-kenn għall-proċessi kollha.
Dan il-limitu jista 'jara (u bil-privileġġ) jinbidel permezz tal-fajl / proc / sys / kernel / rtsig-max . Fajl relatat, / proc / sys / kernel / rtsig-max , jista 'jintuża biex issir taf kemm is-sinjali f'ħin reali attwalment huma kju.
KONFORMITÀ GĦALL
POSIX.1
Importanti: Uża l-kmand tal- bniedem ( % raġel ) biex tara kif tintuża kmand fuq il-kompjuter partikolari tiegħek.