Linux sipòte tou de POSIX siyal serye (ki se "siyal estanda") ak POSIX siyal an tan reyèl.
Siyal Creole
Linux sipòte siyal yo estanda ki nan lis anba a. Nimewo siyal plizyè se achitekti depandan, jan sa endike nan kolòn "Valè" la. (Ki kote twa valè yo bay, youn nan premye se nòmalman valid pou Alpha ak sparc, youn nan mitan pou i386, ppc ak sh, ak yon sèl ki sot pase a pou mips.
A - vle di ke yon siyal absan sou achitekti ki koresponn lan.)
Antre nan kolòn nan "Aksyon" nan tablo a presize aksyon an default pou siyal la, jan sa a:
Tèm
Aksyon Default se mete fen nan pwosesis la.
Ign
Aksyon Default se inyore siyal la.
Nwayo
Aksyon Default se mete fen nan pwosesis la ak debri nwayo.
Sispann
Aksyon Default se yo sispann pwosesis la.
Premye siyal yo ki dekri nan estanda POSIX.1 orijinal la.
Siyal | Valè | Aksyon | Kòmantè |
oswa lanmò nan pwosesis kontwole | |||
SIGINT | 2 | Tèm | Entèwonp soti nan klavye |
Sikwi | 3 | Nwayo | Kite soti nan klavye |
SIGILL | 4 | Nwayo | Enstriksyon ilegal |
SIGABRT | 6 | Nwayo | Abort siyal soti nan abòde (3) |
SIGFPE | 8 | Nwayo | Flotan eksepsyon pwen |
SIGKILL | 9 | Tèm | Touye siyal |
SIGSEGV | 11 | Nwayo | Invalid referans memwa |
SIGPIPE | 13 | Tèm | Broken tiyo: ekri tiyo ki pa gen okenn lektè |
SIGALRM | 14 | Tèm | Timer siyal soti nan alam (2) |
SIGTERM | 15 | Tèm | Siyati a |
SIGUSR1 | 30,10,16 | Tèm | Itilizatè defini siyal 1 |
SIGUSR2 | 31,12,17 | Tèm | Itilizatè defini siyal 2 |
SIGCHLD | 20,17,18 | Ign | Timoun sispann oswa sispann |
SIGCONT | 19,18,25 | Kontinye si sispann | |
SIGSTOP | 17,19,23 | Sispann | Sispann pwosesis |
SIGTSTP | 18,20,24 | Sispann | One Stop tape nan tty |
SIGTTIN | 21,21,26 | Sispann | tty opinyon pou pwosesis background |
SIGTTOU | 22,22,27 | Sispann | tty pwodiksyon pou pwosesis background |
SIGKILL ak SIGSTOP siyal yo pa ka kenbe, bloke, oswa inyore.
Next siyal yo pa nan estanda POSIX.1 men ki dekri nan SUSv2 ak SUSv3 / POSIX 1003.1-2001.
Siyal | Valè | Aksyon | Kòmantè |
SIGPOLL | Tèm | Evolisyon evènman (Sys V). Sinonim nan SIGIO | |
SIGPROF | 27,27,29 | Tèm | Pwofil revèy ekspire |
SIGSYS | 12, -, 12 | Nwayo | Move agiman woutin (SVID) |
SIGTRAP | 5 | Nwayo | Trace / breakpoint pèlen |
SIGURG | 16,23,21 | Ign | Kondisyon ijan sou priz (4.2 BSD) |
SIGVTALRM | 26,26,28 | Tèm | Revèy alam Virtual (4.2 BSD) |
SIGXCPU | 24,24,30 | Nwayo | Limit tan CPU depase (4.2 BSD) |
SIGXFSZ | 25,25,31 | Nwayo | Limit gwosè File depase (4.2 BSD) |
Jiska Linux ak 2.2, konpòtman an default pou SIGSYS , SIGXCPU , SIGXFSZ , ak (sou achitekti lòt pase SPARC ak MIPS) SIGBUS te mete fen nan pwosesis la (san yo pa yon debri debaz). (Sou kèk lòt UNIS aksyon an defo pou SIGXCPU ak SIGXFSZ se mete fen nan pwosesis la san yo pa yon pil fatra debaz.) Linux 2.4 konfòme ak egzijans yo POSIX 1003.1-2001 pou siyal sa yo, mete fen nan pwosesis la ak yon pil fatra nwayo.
Next divès lòt siyal.
Siyal | Valè | Aksyon | Kòmantè |
SIGEMT | 7, -, 7 | Tèm | |
SIGSTKFLT | -, 16, - | Tèm | Pile fòt sou coprosesè (rès) |
SIGIO | 23,29,22 | Tèm | Mwen / O kounye a posib (4.2 BSD) |
SIGCLD | -, -, 18 | Ign | Yon synonym pou SIGCHLD |
SIGPWR | 29,30,19 | Tèm | Pouvwa echèk (System V) |
SIGINFO | 29, -, - | Yon synonym pou SIGPWR | |
SIGLOST | -, -, - | Tèm | File fèmen pèdi |
SIGWINCH | 28,28,20 | Ign | Fenèt ranje siyal (4.3 BSD, Solèy) |
SIGUNUSED | -, 31, - | Tèm | Siyal itilize (yo pral SIGSYS) |
(Siyal 29 se SIGINFO / SIGPWR sou yon alfa, men SIGLOST sou yon sparc.)
SIGEMT pa espesifye nan POSIX 1003.1-2001, men neverthless parèt sou pifò lòt UNICE, kote aksyon default li yo se tipikman fen pwosesis la ak yon pil fatra debaz.
SIGPWR (ki pa espesifye nan POSIX 1003.1-2001) se tipikman inyore pa default sou sa yo UNis lòt kote li parèt.
SIGIO (ki pa espesifye nan POSIX 1003.1-2001) se inyore pa default sou plizyè UNIS.
Siyal tan reyèl
Linux sipòte siyal an tan reyèl kòm orijinèlman defini nan ekstansyon yo POSIX.4 an tan reyèl (e kounye a, enkli nan POSIX 1003.1-2001). Linux sipòte 32 an tan reyèl siyal, konte depi 32 ( SIGRTMIN ) nan 63 ( SIGRTMAX ). (Pwogram yo ta dwe toujou al gade nan siyal an tan reyèl lè l sèvi avèk notifikasyon SIGRTMIN + n, depi seri a nan tan reyèl siyal varye atravè Inis.)
Kontrèman ak siyal estanda, siyal an tan reyèl pa gen okenn siyifikasyon predefini: seri a tout antye nan an tan reyèl siyal yo ka itilize pou rezon ki defini aplikasyon. (Remak, sepandan, aplikasyon LinuxThreads la itilize premye twa an siyal an tan reyèl.)
Aksyon defo pou yon siyal an tan reyèlman se mete fen nan pwosesis la k ap resevwa.
Siyal tan reyèl yo distenge pa bagay sa yo:
- Kèk miltip nan an tan reyèl siyal ka chaje. Kontrèman, si plizyè ka nan yon siyal estanda yo delivre pandan ke se siyal kounye a bloke, Lè sa a, se sèlman yon sèl egzanp koudeta.
- Si siyal la voye lè l sèvi avèk sigque (2), yon valè akonpaye (swa yon nonb antye oswa yon konsèy) ka voye ak siyal la. Si pwosesis k ap resevwa a etabli yon machann pou siyal sa a lè l sèvi avèk drapo SA_SIGACTION nan sigaction (2) lè sa a li ka jwenn done sa a via jaden si_value nan siginfo_t estrikti a te pase kòm dezyèm agiman a moun kap okipe a. Anplis de sa, si_pid ak si_uid jaden nan estrikti sa a ka itilize yo jwenn ID nan itilizatè PID ak reyèl nan pwosesis la voye siyal la.
- Siyal tan reyèl yo delivre nan yon lòd garanti. Plizyè siyal an tan reyèl nan menm kalite a yo delivre nan lòd yo te voye yo. Si diferan siyal an tan reyèl voye nan yon pwosesis, yo delivre kòmanse ak siyal ki pi ba a. (Wi, siyal ki ba-nimero gen pi gwo priyorite.)
Si tou de estanda ak an tan reyèl siyal yo annatant pou yon pwosesis, POSIX kite li espesifye ki se delivre an premye. Linux, tankou anpil lòt enplemantasyon, bay priyorite siyal estanda nan ka sa a.
Dapre POSIX, yon aplikasyon dwe pèmèt omwen _POSIX_SIGQUEUE_MAX (32) siyal an tan reyèl yo dwe chaje nan yon pwosesis. Sepandan, olye ke mete yon limit pou chak-pwosesis, Linux enpoze yon limit tout sistem sou kantite ki te siyal an tan reyèl nan tout pwosesis.
Limit sa a ka wè (ak privilèj) chanje via / proc / sys / kernel / rtsig-max dosye. Yon dosye ki gen rapò, / proc / sys / kernel / rtsig-max , yo ka itilize yo konnen ki jan anpil siyal an tan reyèl yo kounye a chaje.
KONFÒMASYON POU
POSIX.1
Enpòtan: Sèvi ak kòmandman an moun ( moun ) yo wè ki jan yon lòd yo itilize sou òdinatè patikilye ou.