Linux na goyon bayan POSIX alamun abin dogara (bayan "sakonni masu kyau") da POSIX halayen lokaci na ainihi.
Alamar sigina
Linux na goyan bayan sakonni masu kyau da aka jera a ƙasa. Lambobin sigina masu yawa suna dogara da gine-gine, kamar yadda aka nuna a cikin "Darajar". (A ina aka ba da ma'auni guda uku, na farko shine yawanci don alpha da sparc, tsakiyar don i386, ppc da sh, da kuma na ƙarshe don mips.
A - yana nuna cewa siginar ba ya nan a ginin da ya dace.)
Sharuɗɗan a cikin shafi na "Action" na tebur ya nuna aikin da aka saba don alamar, kamar haka:
Term
Sakamakon aikin shi ne ya ƙare tsarin.
Ign
Sakamakon mataki shi ne ya watsi da sigina.
Core
Sakamakon mataki shi ne ya ƙare tsarin da kuma zubar da zuciyar.
Tsaya
Sakamakon mataki shine don dakatar da tsari.
Na farko sakonni da aka bayyana a cikin asalin POSIX.1 misali.
Sigina | Darajar | Action | Sharhi |
ko mutuwar sarrafa tsarin | |||
SIGINT | 2 | Term | Kashe daga keyboard |
SIGQUIT | 3 | Core | Kashe daga keyboard |
SIGILL | 4 | Core | Umurni mara izini |
SIGABRT | 6 | Core | Alamar abort daga abort (3) |
SIGFPE | 8 | Core | Tsarin ban ruwa na banda |
SIGKILL | 9 | Term | Kashe alama |
SIGSEGV | 11 | Core | Bayanin ƙwaƙwalwar ajiya mara inganci |
SIGPIPE | 13 | Term | Turan da aka rushe: rubuta zuwa bututu ba tare da masu karatu ba |
SIGALRM | 14 | Term | Siginan lokaci daga ƙararrawa (2) |
SIGTERM | 15 | Term | Siginar ƙarshe |
SIGUSR1 | 30,10,16 | Term | Alamar da aka yi amfani da mai amfani 1 |
SIGUSR2 | 31,12,17 | Term | Alamar da aka yi amfani da mai amfani 2 |
SIGCHLD | 20,17,18 | Ign | Yaron ya tsaya ko ya ƙare |
SIGCONT | 19,18,25 | Ci gaba idan tsaya | |
SIGSTOP | 17,19,23 | Tsaya | Tsayawa tsari |
SIGTSTP | 18,20,24 | Tsaya | Dakatar da bugawa a tty |
SIGTTIN | 21,21,26 | Tsaya | tty shigarwar don tsari na baya |
SIGTTOU | 22,22,27 | Tsaya | tty fitarwa don tsari na baya |
Sigina SIGKILL da SIGSTOP ba za a iya kama su ba, sun katange, ko kuma basu kulawa.
Gabaran sigina ba a cikin POSIX.1 misali amma an bayyana a cikin SUSV2 da SUSv3 / POSIX 1003.1-2001.
Sigina | Darajar | Action | Sharhi |
SIGPOLL | Term | Aikin Pollable (Sys V). Synonym na SIGIO | |
SIGPROF | 27,27,29 | Term | Lokaci ya fara ƙare |
SIGSYS | 12, -, 12 | Core | Batu mara kyau a yau da kullum (SVID) |
SIGTRAP | 5 | Core | Binciken trace / fashewa |
SIGURG | 16,23,21 | Ign | Yanayin gaggawa a kan soket (4.2 BSD) |
SIGVTALRM | 26,26,28 | Term | Gwajin ƙararrawa ta atomatik (4.2 BSD) |
SIGXCPU | 24,24,30 | Core | Ƙimar iyakar CPU ta wuce (4.2 BSD) |
SIGXFSZ | 25,25,31 | Core | Girman girman fayil din ya wuce (4.2 BSD) |
Har zuwa da kuma Linux ciki har da Linux 2.2, hali na tsoho na SIGSYS , SIGXCPU , SIGXFSZ , da kuma (a kan gine-gine ba tare da SPARC da MIPS) SIGBUS ya ƙare tsarin ba (ba tare da dashi ba). (A wasu Unices aikin da ya dace don SIGXCPU da SIGXFSZ shine ya ƙare tsarin ba tare da dashi ba.) Linux 2.4 ya bi ka'idodin POSIX 1003.1-2001 don waɗannan alamomi, ya ƙare tsarin tare da zartar da zuciyar.
Gaba da sauran alamomi.
Sigina | Darajar | Action | Sharhi |
SIGEMT | 7, -, 7 | Term | |
SIGSTKFLT | -, 16, - | Term | Kuskuren kuskure akan maidawa (wanda ba a amfani ba) |
SIGIO | 23,29,22 | Term | I / O a yanzu zai yiwu (4.2 BSD) |
SIGCLD | -, -, 18 | Ign | A synonym don SIGCHLD |
SIGPWR | 29,30,19 | Term | Kuskuren Power (System V) |
SIGINFO | 29, -, - | A synonym for SIGPWR | |
SIGLOST | -, -, - | Term | Kulle fayil ya ɓace |
SIGWINCH | 28,28,20 | Ign | Siginan siginan Window (4.3 BSD, Sun) |
SIGUNUSED | -, 31, - | Term | Sigina mara amfani (zai zama SIGSYS) |
(Sigina ta 29 shine SIGINFO / SIGPWR a kan haruffa amma SIGLOST a kan sparc.)
SIGEMT ba a ƙayyade shi ba a POSIX 1003.1-2001, amma ba a bayyana a wasu sauran Unices ba, inda aikinsa na ƙarshe ya saba da shi don ƙare tsarin tare da zartar dashi.
SIGPWR (wanda ba'a ƙayyade a POSIX 1003.1-2001) an saba watsi ta hanyar tsoho akan waɗancan Unices inda ya bayyana.
SIGIO (wanda ba'a bayyana shi ba a POSIX 1003.1-2001) an lasafta ta hanyar tsoho akan wasu Unices.
Saƙonni na lokaci-lokaci
Linux na goyan bayan siginar lokaci na ainihi kamar yadda aka ƙayyade a cikin asalin POSIX.4 kari na lokaci-lokaci (kuma yanzu an haɗa su a POSIX 1003.1-2001). Linux tana goyon bayan sakonni na ainihi na ainihi, ƙidaya daga 32 ( SIGRTMIN ) zuwa 63 ( SIGRTMAX ). (Shirye-shiryen ya kamata a yi la'akari da sakonni na ainihi ta hanyar yin amfani da sanarwa SIGRTMIN + n, tun da kewayon lambobin sigina na ainihi ya bambanta a fadin Unices.)
Ba kamar sigina na daidaito ba, sakonnin lokaci na ainihi ba shi da ma'anar da aka ƙayyade: dukan sigina na sakonni na ainihi za a iya amfani dasu don dalilai na tsare-tsare. (A lura cewa, aiwatar da LinuxThreads ya yi amfani da sakonni na farko na farko.)
Ayyukan tsoho don sigina na ainihi na ainihi shine ya ƙare tsarin karbar.
Sa'idodin lokaci na ainihi an rarraba ta da wadannan:
- Yawancin lokuta na alamun lokaci na ainihi za a iya ƙaddara. Ya bambanta, idan an fito da lokutta da yawa na siginar misali yayin da aka katange wannan sigina, to, kawai alamu ɗaya ne kawai.
- Idan aka aiko siginar ta amfani da sigleue (2), za'a iya aika darajar haɗin (ko dai wani mai lamba ko maɓallin) tare da sigina. Idan tsarin karba ya kafa mai jagora don wannan sigina ta amfani da tutar SA SAWA zuwa sigaction (2) sa'an nan kuma zai iya samun wannan bayanan ta hanyar filin si_value na tsarin siginfo_t da aka wuce a matsayin gardama na biyu zuwa mai jagoran. Bugu da ƙari, ana iya amfani da filayen si_pid da si_uid don samun PID da ainihin ID na mai amfani da aika da sigina.
- Ana ba da sigina na lokaci-lokaci a tsari mai tabbacin. Yawancin sakonni na ainihi na iri iri ɗaya ana fitowa a cikin tsari da aka aiko su. Idan ana aika sakonni na ainihi zuwa tsari, an fito da su ta fara tare da siginar da aka ƙaddara. (Ee, alamar ƙananan alamar suna da fifiko mafi girma.)
Idan duka sigina na ainihi da kuma ainihin lokacin suna jiran wani tsari, POSIX ya bar shi wanda ba a bayyana shi ba. Linux, kamar sauran ayyuka, yana ba da fifiko ga sigina na daidaito a wannan yanayin.
Bisa ga POSIX, aiwatarwa ya kamata a ba da izini a kalla _POSIX_SIGQUEUE_MAX (32) sakonnin lokaci na ainihi da za a shiga zuwa tsari. Duk da haka, maimakon sanya iyakacin tsari, Linux ta ƙaddamar da iyakacin tsarin ƙididdiga akan adadin sakonni na ainihi ga dukkanin matakai.
Wannan ƙayyadadden za a iya gani (tare da dama) ta canza ta hanyar tsari / proc / sys / kernel / rtsig-max . Fayil din da aka haɗa, / proc / sys / kernel / rtsig-max , ana iya amfani dashi don gano yawancin siginar lokaci na ainihi a halin yanzu.
GASKIYA TO
POSIX.1
Muhimmin: Yi amfani da umurnin mutum ( % mutum ) don ganin yadda aka yi amfani da umarnin akan kwamfutarka.