Sigina - Linux / Unix Command

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:

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