Signal - Linux / Unix Command

Ang Linux nagsuporta sa POSIX nga kasaligan nga mga sinyales (gitawag nga "standard signal") ug POSIX real-time signal.

Standard nga mga signal

Ang Linux nagsuporta sa mga standard signal nga gilista sa ubos. Pipila ka mga numero sa signal ang depende sa arkitektura, ingon sa gipakita sa kolum nga "Value". (Diin ang tulo ka mga bili gihatag, ang una usa nga balido alang sa alpha ug sparc, ang tungatunga usa alang sa i386, ppc ug sh, ug ang katapusan nga usa alang sa mga mips.

A - nagpasabot nga ang usa ka signal wala diha sa tukma nga arkitektura.)

Ang mga entrante sa kolum sa "Action" sa lamesa nagtino sa default nga aksyon alang sa signal, ingon sa mosunod:

Termino

Ang unang aksyon mao ang pagtapos sa proseso.

Ign

Ang default nga aksyon mao ang pagbaliwala sa signal.

Core

Ang default nga aksyon mao ang pag-undang sa proseso ug paghimo sa core.

Hunong

Ang default nga aksyon mao ang pagpahunong sa proseso.

Una ang mga signal nga gihulagway sa orihinal nga POSIX.1 standard.

Signal Bili Aksyon Comment
o kamatayon sa pagpugong nga proseso
SIGINT 2 Termino Putli gikan sa keyboard
SIGQUIT 3 Core Mohunong gikan sa keyboard
SIGILL 4 Core Iligal nga Pagtudlo
SIGABRT 6 Core Abort ang signal gikan sa pagbawi (3)
SIGFPE 8 Core Gawas nga paglutaw nga punto
SIGKILL 9 Termino Patya ang signal
SIGSEGV 11 Core Dili tinuod nga reference sa memorya
SIGPIPE 13 Termino Nasira nga tubo: isulat sa tubo nga walay mga magbabasa
SIGALRM 14 Termino Timer signal gikan sa alarm (2)
SIGTERM 15 Termino Terminasyon sa signal
SIGUSR1 30,10,16 Termino Ang gipasabut nga signal sa user 1
SIGUSR2 31,12,17 Termino Ang gipasabut nga signal sa user 2
SIGCHLD 20,17,18 Ign Ang bata mihunong o mihunong
SIGCONT 19,18,25 Padayon kon ihunong
SIGSTOP 17,19,23 Hunong Hunonga ang proseso
SIGTSTP 18,20,24 Hunong Hunonga ang pag-type sa tty
SIGTTIN 21,21,26 Hunong tty input para sa background process
SIGTTOU 22,22,27 Hunong tty output alang sa background nga proseso

Ang mga signal nga SIGKILL ug SIGSTOP dili masakpan, gibabagan, o gibalewala.

Sunod ang mga signal dili sa POSIX.1 standard apan gihulagway sa SUSv2 ug SUSv3 / POSIX 1003.1-2001.

Signal Bili Aksyon Comment
SIGPOLL Termino Pollable event (Sys V). Sinonimo sa SIGIO
SIGPROF 27,27,29 Termino Ang expose sa profile nagpabiling dead
SIGSYS 12, -, 12 Core Dili maayo nga argumento sa rutina (SVID)
SIGTRAP 5 Core Trace / breakpoint trap
SIGURG 16,23,21 Ign Dinalian nga kondisyon sa socket (4.2 BSD)
SIGVTALRM 26,26,28 Termino Ang bantay nga orasan sa Maya (4.2 BSD)
SIGXCPU 24,24,30 Core Ang lagmit sa oras sa CPU milapas (4.2 BSD)
SIGXFSZ 25,25,31 Core Ang gidak-on sa gidak-on sa file milabaw (4.2 BSD)

Hangtud ug lakip na ang Linux 2.2, ang default nga kinaiya alang sa SIGSYS , SIGXCPU , SIGXFSZ , ug (sa mga arkitektura gawas sa SPARC ug MIPS) ang SIGBUS mao ang pag-undang sa proseso (nga walay usa ka core dump). (Sa ubang mga Unices ang default nga aksyon alang sa SIGXCPU ug SIGXFSZ mao ang pag-undang sa proseso nga walay usa ka core dump.) Ang Linux 2.4 nagsunod sa mga kinahanglanon sa POSIX 1003.1-2001 alang niini nga mga signal, pagtapos sa proseso sa usa ka core dump.

Susunod sa nagkalain-laing mga signal.

Signal Bili Aksyon Comment
SIGEMT 7, -, 7 Termino
SIGSTKFLT -, 16, - Termino Stack fault sa coprocessor (wala gigamit)
SIGIO 23,29,22 Termino Ako / O posible na karon (4.2 BSD)
SIGCLD -, -, 18 Ign Usa ka susama sa SIGCHLD
SIGPWR 29,30,19 Termino Kapakyasan sa Power (System V)
SIGINFO 29, -, - Usa ka susama sa SIGPWR
SIGLOST -, -, - Termino Nawagtang ang lock sa file
SIGWINCH 28,28,20 Ign Pag-usbaw sa signal sa bintana (4.3 BSD, Sun)
GIPADAYAG -, 31, - Termino Wala gigamit nga signal (mamahimong SIGSYS)

(Ang Signal 29 mao ang SIGINFO / SIGPWR sa alpha apan SIGLOST sa usa ka sparc.)

Ang SIGEMT wala gitino sa POSIX 1003.1-2001, apan wala'y makita sa kadaghanan sa uban nga Unices, diin ang kasagaran nga aksyon nga kasagaran mao ang pagtapos sa proseso sa usa ka core dump.

Ang SIGPWR (nga wala gitino sa POSIX 1003.1-2001) sa kasagaran gisalikway pinaagi sa default sa uban pang Unices diin kini makita.

Ang SIGIO (nga wala gipasabut sa POSIX 1003.1-2001) wala panumbalinga pinaagi sa default sa daghang uban nga Unices.

Mga tinuod nga oras nga signal

Ang Linux nagsuporta sa tinuod nga mga signal sama sa orihinal nga gihubit sa POSIX.4 real-time nga mga extension (ug karon gilakip sa POSIX 1003.1-2001). Ang Linux nagsuporta sa 32 ka tinuod nga mga signal, nga giihap gikan sa 32 ( SIGRTMIN ) ngadto sa 63 ( SIGRTMAX ). (Ang mga programa kinahanglan kanunay nga magtumong sa tinuod nga mga signal gamit ang notasyon SIGRTMIN + n, tungod kay ang lainlaing numero sa tinuod nga signal lainlain sa unices.)

Dili sama sa mga standard nga signal, ang mga signal sa tinuod nga panahon walay mga piho nga kahulugan: ang tibuok nga mga hugpong sa tinuod nga mga signal mahimo nga gamiton alang sa mga katuyoan nga gihulagway sa aplikasyon. (Hinuon, hinumdomi nga ang implementasyon sa LinuxThreads naggamit sa unang tulo nga tinuod nga mga signal.)

Ang lihok nga lihok alang sa usa ka wala'y-kamot nga real-time signal mao ang pag-undang sa proseso sa pagdawat.

Ang tinuod nga mga signal gipalahi sa mosunod:

  1. Daghang pananglitan sa mga signal sa tinuod nga panahon mahimong mapalong. Sa kasukwahi, kon adunay daghang mga higayon sa usa ka standard signal ang ipadala samtang ang signal na karon gibabagan, nan usa lamang ka higayon ang gilinya.
  2. Kung ang signal gipadala gamit ang sigqueue (2), usa ka kauban nga bili (mahimong usa ka integer o usa ka pointer) mahimong ipadala uban sa signal. Kung ang proseso sa pagdawat magtukod og usa ka handler alang niini nga signal gamit ang SA_SIGACTION flag ngadto sa sigaction (2) unya makuha niini nga data pinaagi sa si_value nga bahin sa siginfo_t nga estraktura nga gipasa ingon nga ikaduha nga argumento sa handler. Dugang pa, ang si_pid ug ang si_uid nga mga natad niini nga istraktura mahimong gamiton aron makuha ang PID ug tinuod nga user ID sa proseso nga nagpadala sa signal.
  3. Ang tinuod nga oras nga mga signal gihatag sa usa ka garantiya. Ang daghang mga real-time nga mga signal sa susama nga matang gipadala sumala sa han-ay nga gipadala kanila. Kon ang nagkalainlaing mga real-time nga signal ipadala sa usa ka proseso, kini ipadala nga nagsugod sa labing ubos nga numero nga signal. (Ie, ang gipaubos nga mga signal adunay labing prayoridad.)

Kung ang duha ka standard ug real-time nga mga signal ang naghulat alang sa usa ka proseso, ang POSIX nagbilin niini nga dili matino nga una nga ipadala. Ang Linux, sama sa daghang ubang mga pagpatuman, naghatag prayoridad sa mga standard signal sa kini nga kaso.

Sumala sa POSIX, ang usa ka pagpatuman kinahanglan magpasugot sa _POSIX_SIGQUEUE_MAX (32) nga mga signal sa tinuod nga panahon aron mapalong sa proseso. Apan, kay sa pagbutang sa usa ka limitadong kada-proseso, ang Linux nagpahamtang sa limitado nga sistema sa gidaghanon sa mga queued real-time nga mga signal alang sa tanan nga mga proseso.

Kini nga limitasyon mahimong makita (ug uban ang pribilehiyo) nausab pinaagi sa / proc / sys / kernel / rtsig-max nga file. Ang usa ka may kalabutan nga file, / proc / sys / kernel / rtsig-max , mahimong magamit aron mahibal-an kung pila ang mga tinuod nga oras nga mga signal ang gipa-queued.

PAG-ALAGAD SA

POSIX.1

Importante: Gamita ang tawo nga sugo ( % man ) aron makita kung giunsa ang usa ka sugo nga gigamit sa imong partikular nga computer.