Sinjal - Kmand Linux / Unix

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:

  1. 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.
  2. 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.
  3. 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.