Ifihan agbara - Lainos / Aṣẹ UNIX

Lainos atilẹyin fun awọn ifihan agbara ti o gbẹkẹle POSIX (lẹhin "awọn ifihan agbara boṣewa") ati awọn ifihan agbara gidi POSIX.

Awọn ifihan agbara boṣewa

Lainos atilẹyin awọn ifihan agbara boṣewa ti a ṣe akojọ si isalẹ. Awọn nọmba ifihan agbara pupọ jẹ igbẹkẹle ti o gbẹkẹle, gẹgẹbi a ṣe afihan ninu iwe "Iye". (Nibo awọn ipo mẹta ti a funni, akọkọ jẹ maa wulo fun Alpha ati sparc, arin fun i386, ppc ati sh, ati awọn ti o kẹhin fun awọn gbohun.

A - fihan pe ifihan agbara ko ni isinmi lori ile-iṣẹ ti o baamu.)

Awọn titẹ sii inu iwe "Ise" ti tabili naa ṣe ipinnu aiṣe aiyipada fun ifihan agbara, gẹgẹbi wọnyi:

Aago

Igbese aiyipada ni lati fopin si ilana naa.

Ign

Igbese aiyipada ni lati foju ifihan naa.

Iwọn

Aṣayan aiyipada ni lati fopin si ilana naa ki o si da akoso.

Duro

Igbese aiyipada ni lati da ilana naa duro.

Akọkọ awọn ifihan agbara ti a sọ sinu atilẹba POSIX.1 boṣewa.

Ifihan Iye Ise Ọrọìwòye
tabi iku ti iṣakoso ilana
SIGINT 2 Aago Duro lati keyboard
SIGQUIT 3 Iwọn Ti jade lati keyboard
SIGILL 4 Iwọn Ilana ti ko ni ofin
SIGABRT 6 Iwọn Iwọn aami abort lati abort (3)
SIGFPE 8 Iwọn Ojuami ti o ṣafo
SIGKILL 9 Aago Pa ifihan agbara
SIGSEGV 11 Iwọn Ifiyesi iranti ailopin
SIGPIPE 13 Aago Pipin ti a fa: kọ si pipe pẹlu ko si onkawe
SIGALRM 14 Aago Ifihan timer lati itaniji (2)
SIGTERM 15 Aago Ifihan ifilọlẹ
SIGUSR1 30,10,16 Aago Ifihan ti a ṣe alaye olumulo 1
SIGUSR2 31,12,17 Aago Ifihan alaye ti olumulo 2
SIGCHLD 20,17,18 Ign Ọmọ duro tabi fopin si
SIGCONT 19,18,25 Tẹsiwaju ti o ba duro
SIGSTOP 17,19,23 Duro Duro ilana
SIGTSTP 18,20,24 Duro Duro duro ni tty
SIGTTIN 21,21,26 Duro tty igbasilẹ fun ilana isale
SIGTTOU 22,22,27 Duro tty iṣẹ fun ilana isale

Awọn ifihan agbara SIGKILL ati SIGSTOP ko le mu, ni idaabobo, tabi ko bikita.

Lẹhin awọn ifihan agbara ko si ni POSIX.1 boṣewa ṣugbọn ti a ṣalaye ni SUSv2 ati SUSv3 / POSIX 1003.1-2001.

Ifihan Iye Ise Ọrọìwòye
SIGPOLL Aago Iṣẹ iṣẹlẹ Pollable (Sys V). Synonym ti SIGIO
SIGPROF 27,27,29 Aago Akoko imuposi dopin
SIGSYS 12, -, 12 Iwọn Ọrọ ariyanjiyan si abẹrẹ (SVID)
SIGTRAP 5 Iwọn Ipasẹ abajade / idẹku
SIGURG 16,23,21 Ign Ipo aifọwọyi lori iho (4.2 BSD)
SIGVTALRM 26,26,28 Aago Agogo itaniji iṣọrọ (4.2 BSD)
SIGXCPU 24,24,30 Iwọn Aago akoko Sipiyu ti kọja (4.2 BSD)
SIGXFSZ 25,25,31 Iwọn Iwọn iwọn faili ti kọja (4.2 BSD)

Titi si ati pẹlu Lainos 2.2, iwa aiyipada fun SIGSYS , SIGXCPU , SIGXFSZ , ati (lori awọn ile-iṣẹ miiran yatọ si SPARC ati MIPS) SIGBUS ni lati pari ilana naa (laisi ipilẹ pataki). (Lori diẹ ninu awọn miiran Unices awọn iṣẹ aiyipada fun SIGXCPU ati SIGXFSZ ni lati fopin si ilana laisi ipilẹ pataki.) Lainos 2.4 ṣe ibamu si awọn ibeere POSIX 1003.1-2001 fun awọn ifihan agbara wọnyi, ṣiṣe ipari si ilana pẹlu fifuye pataki.

Next awọn ifihan agbara miiran.

Ifihan Iye Ise Ọrọìwòye
SIGEMT 7, -, 7 Aago
SIGSTKFLT -, 16, - Aago Aṣiṣe ẹda lori olutọju (ajeku)
SIGIO 23,29,22 Aago I / O ni bayi (4.2 BSD)
SIGCLD -, -, 18 Ign A synonym fun SIGCHLD
SIGPWR 29,30,19 Aago Agbara agbara (System V)
SIGINFO 29, -, - A synonym fun SIGPWR
SIGLOST -, -, - Aago Titii paarẹ ti sọnu
SIGWINCH 28,28,20 Ign Window resize signal (4.3 BSD, Sun)
SIGUNUSED -, 31, - Aago Ifihan ti a ko lo (yoo jẹ SIGSYS)

(Ifihan 29 jẹ SIGINFO / SIGPWR lori ẹya alpha ṣugbọn SIGLOST lori sparc.)

SIGEMT ko ni pato ni POSIX 1003.1-2001, ṣugbọn kii han ni ọpọlọpọ awọn Unices miiran, nibiti iṣẹ aiṣedeede rẹ jẹ lati maa pari ilana naa pẹlu fifuye pataki.

SIGPWR (eyi ti a ko ṣe apejuwe ni POSIX 1003.1-2001) ni a maa n faramọ nipasẹ aiyipada lori awọn Unices miiran nibiti o ti han.

SIGIO (eyi ti ko ṣe apejuwe ni POSIX 1003.1-2001) ko ni aifọwọyi nipasẹ aiyipada lori ọpọlọpọ awọn Unices.

Awọn ifihan agbara gidi

Lainos atilẹyin awọn ifihan agbara gidi-akoko bi a ti sọ tẹlẹ ninu awọn amugbooro POSIX.4 (ati bayi o wa ninu POSIX 1003.1-2001). Lainos atilẹyin awọn ifihan agbara gidi gidi, ti a ka lati 32 ( SIGRTMIN ) si 63 ( SIGRTMAX ). (Awọn eto yẹ ki o tọka si awọn ifihan agbara gidi akoko pẹlu lilo SITRTMIN + n, niwon ibiti awọn nọmba ifihan agbara gidi ṣe yatọ si awọn Unices.)

Ko dabi awọn ifihan agbara ti o tọ, awọn ifihan agbara gidi-akoko ko ni awọn asọtẹlẹ ti a ti yan: gbogbo awọn ifihan agbara gidi-akoko le ṣee lo fun awọn idi ti a ṣe alaye. (Akọsilẹ, sibẹsibẹ, pe iwaaṣe LinuxThreads nlo awọn ifihan agbara gidi akọkọ akọkọ.)

Iṣiṣe aiṣedeede fun ifihan agbara-išẹ gidi ti ko ṣiṣẹ ni lati fopin ilana igbasilẹ.

Awọn ifihan agbara akoko gidi jẹ iyasọtọ nipasẹ awọn atẹle:

  1. Ọpọlọpọ awọn igba ti awọn ifihan agbara gidi-akoko le ti wa ni wiwun. Ni idakeji, ti o ba jẹ pe ọpọlọpọ awọn igba ti ifihan agbara ti o gba agbara nigba ti a ti dina mọ ami naa, lẹhinna nikan ni apeere kan ti jẹ.
  2. Ti a ba fi ami naa ranṣẹ pẹlu lilo ami (2), iye ti o tẹle (boya nọmba kan tabi ijuboluwo) le ṣee firanṣẹ pẹlu ifihan agbara naa. Ti ilana igbasilẹ ba ṣeto oluṣakoso fun ifihan agbara yii nipa lilo aṣoju SA_SIGACTION si isokuso (2) lẹhinna o le gba data yii nipasẹ aaye si_value ti siginfo_t eto ti a ti kọja bi ariyanjiyan keji si oluṣakoso. Pẹlupẹlu, awọn aaye si_pid ati awọn si_uid ti ọna yii le ṣee lo lati gba PID ati ID ID olumulo gidi ti ilana ti nfiranṣẹ naa.
  3. Awọn ifihan agbara gidi ni a firanṣẹ ni aṣẹ ti a ṣe ẹri. Ọpọlọpọ awọn ifihan agbara gidi-akoko ti irufẹ iru naa ni a firanṣẹ ni aṣẹ ti a fi ranṣẹ wọn. Ti o ba fi awọn ifihan agbara gidi gidi ranṣẹ si ilana kan, a fi wọn silẹ ti o bẹrẹ pẹlu ifihan agbara ti o kere julọ. (Bẹẹni, awọn ifihan agbara ti o kere iye ni o ni ayo to ga julọ.)

Ti awọn ifihan agbara boṣewa ati gidi akoko ti wa ni isunmọtosi fun ilana, POSIX fi oju rẹ silẹ ti a ti firanṣẹ ni akọkọ. Lainos, bi ọpọlọpọ awọn imudaṣe miiran, ṣe ayo si awọn ifihan agbara boṣewa ninu ọran yii.

Gẹgẹ bi POSIX, imuse kan yẹ ki o gba laaye ni o kere _POSIX_SIGQUEUE_MAX (32) awọn ifihan agbara gidi-akoko lati wa ni sisun si ilana. Sibẹsibẹ, dipo ki o fi opin si ihamọ-ilana, Lainos ṣe idiyele gbogbo eto lori nọmba awọn ifihan agbara gidi gidi fun gbogbo awọn ilana.

Iwọnyi yii le wa ni wiwo (ati pẹlu anfaani) yi pada nipasẹ faili / proc / sys / kernel / rtsig-max . Faili kan ti o ni ibatan, / proc / sys / kernel / rtsig-max , le ṣee lo lati wa iru awọn ifihan agbara gidi ti wa ni lọwọlọwọ.

NIPA TO

POSIX.1

Pataki: Lo pipaṣẹ eniyan ( % eniyan ) lati wo bi o ṣe nlo aṣẹ kan lori kọmputa rẹ.