Signal - Linux / Unix Talo

Linux waxay taageertaa calaamadaha lagu kalsoon yahay ee POSIX (bacdamaa "calaamadaha caadiga ah") iyo signallada dhabta ah ee POSIX.

Calaamadaha caadiga ah

Linux waxay taageertaa calaamadaha caadiga ah ee hoos ku taxan. Nambaro dhowr ah oo dhowr ah ayaa ah kuwo ku xiran qaab dhismeed, sida ku qoran "Qiime". (Halka saddexda qiimaha la bixiyay, kan ugu horreeya wuxuu caadi ahaan ku ansaxayaa alpha iyo sparc, midka dhexe ee i386, ppc iyo sh, iyo midkii ugu dambeeyay ee qalinka.

A - waxa uu tilmaamayaa in calaamad ka maqan tahay dhismaha ku haboon.)

Waxyaabaha ku jira "Tilmaamaha" ee "Mashruuca" ee miiska waxay tilmaamayaan ficilka caadiga ah ee astaamaha, sida soo socota:

Muddada

Tallaabada ugu dambeysa waa in la joojiyo hawsha.

Ign

Tallaabada ugu dambeysa waa inaad iska indhotirto calaamadda.

Core

Tallaabada ugu dambeysa waa in la joojiyo geedi socodka iyo qashin-qubka.

Jooji

Tallaabada ugu horeysa waa in la joojiyo hawsha.

Ugu horeyn calaamadaha lagu sharaxay asalka POSIX.1 asalka ah.

Saxeex Qiimaha Waxqabadka Faallo
ama dhimashada habka xukunka
SIGINT 2 Muddada Ka dhexjirto kumbuyuutarka
SIGQUIT 3 Core Ka jooji kumbuyuutarka
SIGILL 4 Core Tilmaamo sharci darro ah
SIGABRT 6 Core Tilmaame-xumida laga soo daayo (3)
SIGFPE 8 Core Dhibaatada dhibcaha dulsaareysa
SIGKILL 9 Muddada Tilmaamaha dilaaga
SIGSEGV 11 Core Tixraaca xasuusta asalka ah
SIGPIPE 13 Muddada Boorka jajaban: qori tuubooyin aan lahayn akhristayaal
SIGALRM 14 Muddada Waqtiga saacadaha digniinta (2)
SIGTINGM 15 Muddada Tilmaamaha joojinta
SIGUSR1 30,10,16 Muddada Tilmaamaha Isticmaalaha 1
SIGUSR2 31,12,17 Muddada Tilmaamaha Isticmaalka 2
SIGCHLD 20,17,18 Ign Ilmuhu wuxuu joojiyaa ama joojiyaa
SIGCONT 19,18,25 Sii wad haddii la joojiyay
SIGSTOP 17,19,23 Jooji Jooji hawsha
SIGTSTP 18,20,24 Jooji Jooji jumlada
SIGTTIN 21,21,26 Jooji tty talaabooyinka habka asalka ah
SIGTTOU 22,22,27 Jooji tty soo saarida nidaamka asalka ah

Calaamadaha SIGKILL iyo SIGSTOP lama qaban karo, la xiri karo, ama la iska indho tiri karo.

Ka dibna calaamadaha aan ku jirin jaantuska POSIX.1 laakiin lagu sifeeyey SUSv2 iyo SUSv3 / POSIX 1003.1-2001.

Saxeex Qiimaha Waxqabadka Faallo
SIGPOLL Muddada Munaasabad ballaaran (Sys V). Isku mid ahaanshaha SIGIO
SIGPROF 27,27,29 Muddada Waqtiga qiyaasidda saacadaha ayaa dhacay
SIGSYS 12, -, 12 Core Argagax xun ee joogtada ah (SVID)
SIGTRAP 5 Core Raadin / dabin jaban
SIGURG 16,23,21 Ign Xaaladda deg-degga ah ee jeebka (4.2 BSD)
SIGVTALRM 26,26,28 Muddada Saacadda digniinta wicitaanka (4.2 BSD)
SIGXCPU 24,24,30 Core Xadka wakhtiga CPU ee dhaafsaday (4.2 BSD)
SIGXFSZ 25,25,31 Core Xadka cabbirka cabbirka ayaa ka sarreeya (4.2 BSD)

Ilaa iyo ay ku jiraan Linux 2.2, habdhaqanka asaasiga ah ee SIGSYS , SIGXCPU , SIGXFSZ , iyo (muraayadaha aan ahayn SPARC iyo MIPS) SIGBUS waxay ahayd inuu joojiyo hawsha (iyada oo aan la saarin qashin muhiim ah). (Qaar ka mid ah qaar ka mid ah Noocyada kale ee SIGXCPU iyo SIGXFSZ waa inay joojiyaan geeddi-socodka iyada oo aan la saarin maadada muhiimka ah.) Linux 2.4 waxay u dhigantaa shuruudaha POSIX 1003.1-2001 ee calaamadahaas, joojinayaan geeddi-socodka iyada oo dump muhiim ah.

Calaamadaha kale ee soo socda.

Saxeex Qiimaha Waxqabadka Faallo
SIGEMT 7, -, 7 Muddada
SIGSTKFLT -, 16, - Muddada Cilad xitaa ku xiran wadajiriyaha (aan la isticmaalin)
SIGIO 23,29,22 Muddada I / O hadda suurtogal ah (4.2 BSD)
SIGCLD -, -, 18 Ign Isku mid ah SIGCHLD
SIGPWR 29,30,19 Muddada Awoodda Awooda (Nidaamka V)
SIGINFO 29, -, - Isku mid ahaanshaha SIGPWR
SIGLOST -, -, - Muddada Qalabka faylka lumay
SIGWINCH 28,28,20 Ign Tilmaamaha dib-u-kicinta (4.3 BSD, Sun)
SIGUNUSED -, 31, - Muddada Calaamad aan la adeegsan (waxay noqon doontaa SIGSYS)

( Muuqaal 29 waa SIGINFO / SIGPWR oo ku yaal alfa laakiin SIGLOST oo ku taal aalad.)

SIGEMT looma cayimay POSIX 1003.1-2001, laakiin marnaba u muuqanin inta badan Meelaha kale, halkaasoo ficilka caadiga ah uu caadi ahaan joojiyo geeddi-socodka iyadoo la tuurayo mashiinka aasaasiga ah.

SIGPWR (oo aan lagu qeexin POSIX 1003.1-2001) waxaa caadi ahaan la iska indha tiriyaa kuwa kale ee Meelaha ay ka muuqato.

SIGIO (oo aan lagu qeexin POSIX 1003.1-2001) waa la iska indho tiray dhowr nooc oo kale oo kuleyliya.

Calaamadaha Real-Time

Linux waxay taageertaa calaamadaha waqtiga dhabta ah sida markii hore lagu qeexay POSIX.4 waqtiga dheeraadka ah (oo hadda lagu daray POSIX 1003.1-2001). Linux waxay taageertaa 32 calaamadood oo dhab ah, oo laga soo qaatay 32 ( SIGRTMIN ) ilaa 63 ( SIGRTMAX ). (Barnaamijyadu waa inay had iyo jeer tixraacaan calaamadaha waqtiga-dhabta ah iyagoo isticmaalaya calaamadda SIGRTMIN + n, maaddaama tirada kala duwan ee nambarada saacadaha dhabta ah ay ku kala duwan yihiin Calaamadaha.

Si ka duwan sida calaamadaha caadiga ah, calaamadaha dhabta ah waxay leeyihiin wax micno ah oo aan horay loo arag: dhammaan calaamadaha dhabta ah ee wakhtiga dhabta ah waxaa loo isticmaali karaa ujeedooyin codsiyeed. (Si kastaba ha ahaatee, si kastaba ha ahaatee, in fulinta LinuxThreads ay isticmaalaan saddexda calaamadood ee ugu horreysa ee dhabta ah.)

Tallaabada ugu habboon ee calaamadaha dhabta ah ee aan la isku haleynin waa in la joojiyo hannaanka helitaanka.

Calaamadaha dhabta ah waxay ku kala duwan yihiin kuwa soo socda:

  1. Calaamado badan oo calaamadaha dhabta ah ayaa la geyn karaa. Taas bedelkeeda, haddii marar badan oo ah calaamadaha caadiga ah la keeno halka calaamadahaas hadda la xirxiray, markaa hal tusaale oo keliya ayaa la qadaray.
  2. Haddii calaamadda loo soo diro isticmaalka siggaarka (2), qiimaha la socda (mid ama mid tilmaamaya) ayaa la soo diri karaa signalka. Haddii geedi socodka helayo uu dejiyo calaamad saaran calaamadan iyada oo la adeegsanayo sumadda SA_SIGACTION ee calaamadda (2) kadibna waxay ku heli kartaa xogkan iyada oo la adeegsanayo soodhiga si_value ee dhismaha siginfo_t u gudbiyo doodda labaad ee gacanqaadaha. Intaa waxaa dheer, si_pid iyo si_uid beeraha qaabkan waxaa loo isticmaali karaa si loo helo PID iyo aqoonsiga isticmaalaha dhabta ah ee geeddi-socodka u diraya signalka.
  3. Calaamadaha dhabta ah waxaa lagu bixiyaa amar ballaadhan. Calaamadaha dhabta ah ee waqtiga dhabta ah ee isla nooc ah ayaa la keenayaa si loo soo diro. Haddii calaamadaha dhabta ah ee wakhtiyada dhabta ah loo diro habraac, waxaa la keenaa bilowga astaamaha ugu hooseeya. (Ie, calaamadaha hoose ee lambarrada leh ayaa mudnaanta koowaad leh.)

Haddii labadaba calaamadaha caadiga ah iyo waqtiga dhabta ah ee la sugayo nidaamka, POSIX waxay ka baxaysaa wax aan la sheegin oo marka hore la keeno. Linux, sida hawlo kale oo badan, waxay siiyaan mudnaanta koorsooyinka caadiga ah kiiskan.

Marka loo eego POSIX, fulintu waa inay oggolaataa ugu yaraan _POSIX_SIGQUEUE_MAX (32) calaamadaha dhabta ah ee dhabta ah si loogu daro geedi socod. Si kastaba ha noqotee, halkii ay ka dhigi lahayd xaddidaad xaddidan, Linux waxay xaddideysaa nidaam guud oo ku saabsan tirada calaamadaha dhabta ah ee safka ee dhammaan hababka.

Xadkaasi waa la arki karaa (iyo mudnaanta) waxaa lagu bedeli karaa faylka / proc / sys / cernel / rtsig-max . Faylka la xidhiidha, / proc / sys / kernel / rtsig-max , waxaa loo isticmaali karaa in lagu ogaado inta imisa calaamadaha dhabta ah ee hadda la socda.

U qalmida

POSIX.1

Muhiim: Isticmaal nambarka ninka ( % nin ) si aad u aragto sida amarka loo isticmaalo kombiyuutarkaaga gaarka ah.