Сигнал - Linux / Unix Command

Linux ҳам сигналҳои боэътимоди POSIX (минбаъд "сигналҳои стандартӣ") ва сигналҳои воқеии POSIX -ро дастгирӣ мекунанд.

Нишонҳои стандартӣ

Linux сигналҳои стандартиро, ки дар поён оварда шудаанд, дастгирӣ мекунад. Якчанд рақамҳои сигнали сохтмонӣ, ки дар сутуни "арзиш" нишон дода шудаанд, вобастаанд. (Дар он ҷо се арзиш дода мешавад, якум одатан барои alpha ва sparc, дараҷаи миёна барои i386, ppc ва sh, ва охирин барои mips.

A - ин маънои онро дорад, ки сигнал дар меъморӣ мувофиқат намекунад.)

Сабтҳо дар сутуни "Амалиёт" -и ҷадвал дар амалҳои пешфарз барои сигнал нишон дода мешаванд:

М

Амалияи муваққатӣ ба анҷом додани раванд аст.

Инкор накунед

Фаъолияти муқаррарӣ сигналро рад мекунад.

Core

Амалияи муваққатӣ ба хотима додани раванд ва партови асосии он аст.

Ист

Амалияи муқаррарӣ ин равандро қатъ мекунад.

Пеш аз он, ки сигналҳо дар стандарти аслии POSIX.1 тасвир шудаанд.

Силсила Арзиш Амалиёт Шарҳ
ё марги раванди назоратӣ
Сигинт 2 М Қатъкунӣ аз клавиатура
Сигма 3 Core Аз клавиатура даст кашед
Сигил 4 Core Дастури ғайриқонунӣ
Сигабр 6 Core Сигналкуни аз бекоркунӣ (3)
SIGFPE 8) Core Истиснои нуқтаи назар
SIGKILL 9 М Сигнал канда
SIGSEGV 11 Core Истиноди нодурусти хотира
SIGPIPE 13 М Қубури қоғаз: ба қубур бо блогнавис нависед
SIGALRM 14 М Сигналҳо аз сигнал (2)
SIGTERM 15 М Сигналҳои ниҳоӣ
SIGUSR1 30,10,16 М Сигналҳои истифодашаванда 1
SIGUSR2 31,12,17 М Сигналҳои истифодашаванда 2
SIGCHLD 20,17,18 Инкор накунед Кӯдак қатъ ё қатъ гардид
SIGCONT 19,18,25 Агар боздошт нашавад
Сигнал 17,19,23 Ист Ҷараёни қатъ
SIGTSTP 18,20,24 Ист Қатъ карда шавад, ки дар tty
SIGTTIN 21,21,26 Ист вирусҳо
SIGTTOU 22,22,27 Ист Ҳаҷми истеҳсолот барои истеҳсолот

Сигналҳо SIGKILL ва SIGSTOP наметавонанд дастгир карда шаванд, баста, ё рад карда шаванд.

Баъд аз сигналҳо на дар стандарти POSIX.1, балки дар SUSv2 ва SUSv3 / POSIX 1003.1-2001 тасвир шудааст.

Силсила Арзиш Амалиёт Шарҳ
SIGPOLL М Ҳодисаи таҳрикдиҳанда (Sys V). Синтаксиси SIGIO
SIGPROF 27,27,29 М Тафсилотро давом дода мешавад
SIGSYS 12, -, 12 Core Далелҳои бад ба мунтазам (SVID)
SIGTRAP 5 Core Трактор / шикастани нуқра
SIGURG 16,23,21 Инкор накунед Ҳолати фавқулодда дар сикка (4.2 BSD)
SIGVTALRM 26,26,28 М Соат дарозии виртуалӣ (4.2 BSD)
SIGXCPU 24,24,30 Core Мӯҳлати амали CPU аз меъёр зиёд (4.2 BSD)
SIGXFSZ 25,25,31 Core Сатҳи андозаи андозаи андоза (4.2 BSD)

То ба ин васила Linux 2.2, рафтори аслӣ барои SIGSYS , SIGXCPU , SIGXFSZ ва (дар архитектураҳои ғайр аз SPARC ва MIPS) SIGBUS қатъ кардани раванд (бе партови асосӣ) буд. (Дар баъзе дигар Умедҳо амалҳои пешакӣ барои SIGXCPU ва SIGXFSZ ба анҷом додани раванди бе партови асосӣ.) Linux 2.4 ба талаботҳои POSIX 1003.1-2001 барои ин сигналҳо мувофиқат мекунад, бо раванди коркард бо партовҳои аслӣ хотима меёбад.

Дигар сигналҳои дигар.

Силсила Арзиш Амалиёт Шарҳ
Сигма 7, -, 7 М
НОҲИЯИ МУЪМИНОБОД -, 16, - М Хатои статикӣ дар коргузор (корношоям)
SIGIO 23,29,22 М I / O ҳоло имконпазир аст (4.2 BSD)
SIGCLD -, -, 18 Инкор накунед Синоним барои SIGCHLD
SIGPWR 29,30,19 М Ноустувории барқ ​​(Системаи V)
SIGINFO 29, -, - Синтаксис барои SIGPWR
SIGLOST -, -, - М Қатъи парванда гум карда шудааст
SIGWINCH 28,28,20 Инкор накунед Равзанаи барқароркунии пластикӣ (4.3 BSD, Sun)
СЕНТЯБР -, 31, - М Сигналҳои истифоданашуда (SIGSYS)

(Сигнал 29 аст SIGINFO / SIGPWR дар бораи alpha, SIGLOST дар sparc.)

SIGEMT дар POSIX 1003.1-2001-ро нишон дода наметавонад, аммо ҳеҷ гоҳ дар аксари дигар чизҳо пайдо намешавад, ки амалҳои муқаррарии он одатан ба қатъ кардани раванд бо дотери аслӣ мерасад.

SIGPWR (ки дар POSIX 1003.1-2001 муайян карда нашудааст), одатан, бо нобаёнӣ дар дигар Инсулинҳое, ки дар он пайдо мешаванд, беэътиноӣ мекунанд.

SIGIO (ки дар POSIX 1003.1-2001 муайян карда нашудааст) бо нобаёнӣ дар якчанд воҳиди дигар номбар карда мешавад.

Нишондиҳандаҳои воқеӣ

Linux сигналҳои воқеии вақтро ҳамчун асосан дар POSIX.4 васеъшавии вақти воқеӣ муайян мекунад (ва ҳоло дар POSIX 1003.1-2001 дохил карда шудааст). Linux 32 нишондиҳандаҳои воқеии воқеиро, ки аз 32 ( SIGRTMIN ) то 63 ( SIGRTMAX ) номбар шудаанд, дастгирӣ мекунад. (Барномаҳо ҳамеша бояд ба сигналҳои воқеии вақт истифода бурда шаванд, бо нишон додани SIGRTMIN + n, зеро шумораи силсилаҳои воқеии вақти воқеӣ дар сарлавҳаҳо гуногунанд.)

Баръакси сигналҳои стандартӣ, сигналҳои воқеии вақт дорои маънои пешакӣ нестанд: ҳамаи маҷмӯи сигналҳои воқеии вақт метавонанд барои мақсадҳои татбиқшаванда истифода шаванд. (Фаромӯш накунед, ки татбиқи LinuxThreads аввалин се сигналҳои воқеии воқеиро истифода мебарад.)

Амалияи пешфарз барои сигналҳои воқеии вақти воқеан бетаъхир аз анҷом додани раванди қабулкунанда иборат аст.

Нишондиҳандаҳои воқеӣ аз ҷониби зерин фарқ мекунанд:

  1. Миқдори зиёди сигналҳои воқеии вақт метавонанд ҷуброн карда шаванд. Баръакс, агар миқдори зиёди сигнали стандартиро расонида истодаанд, вақте ки ин сигнал акнун қатъ карда мешавад, танҳо як рамз ҷуброн карда мешавад.
  2. Агар сигнал бо истифодабарии сӯзишворӣ фиристода шуда бошад, арзиши ҳамоҳанг (бо ҳам рақам ё нишондиҳанда) бо сигнал фиристода мешавад. Агар раванди қабулкунанда барои ин сигнал истифода аз сарлавҳаи SA_SIGACTION ба сигнал (2) бошад, он метавонад ин маълумотро тавассути доирае , ки ба структураи siginfo_t дода шуда бошад, ҳамчун далели дуюм ба кордиҳанда гузорад. Ғайр аз ин, соҳаҳои si_pid ва si_uid- и ин структура метавонанд барои дарёфти PID ва ID-и ҳақиқии кории раванди фиристодани сигнал истифода шаванд.
  3. Сигналҳои воқеӣ дар фармоиши кафолат дода мешаванд. Сатҳҳои яквақтаи воқеии ҳамон намуди фармоиш бо тартиби фиристодашуда дода мешаванд. Агар сигналҳои гуногуни воқеии воқеӣ ба раванди ирсолкунанда фиристода шаванд, онҳо аз сигнали пасттарин сар карда мешаванд. (Ie, сигналҳои пасти рақамӣ афзалият доранд).

Агар ҳар ду аломати стандартӣ ва воқеӣ интизор шаванд, ки POSIX онро беэътиноӣ мекунад, ки аввалин бор дода мешавад. Linux, монанди бисёр амалиётҳои дигар, дар ин ҳолат сигналҳои стандартиро афзалият медиҳад.

Мутобиқи POSIX, амалисозӣ бояд ҳадди ақал _POSIX_SIGQUEUE_MAX (32) сигналҳои воқеии вақти ройгонро ба раванди ҷустуҷӯ иҷозат диҳад. Бо вуҷуди ин, ба ҷои маҳдуд кардани маҳдудияти марҳила, Linux маҳдудияти системаро ба шумораи сигналҳои ҳақиқии ҷустуҷӯ барои ҳамаи равандҳо мегузорад.

Ин маҳдудият метавонад бо файлҳои / proc / sys / kernel / rtsig-max- ро тағйир диҳад (ва бо имтиёз). Файли алоқаманд, / proc / sys / kernel / rtsig-max , барои фаҳмидани он, ки чанде аз сигналҳои воқеии замонавӣ ҷуброн карда мешаванд.

МУҚАДДИМА

POSIX.1

Муҳим: Кушодани мард ( % мард ) -ро истифода баред, ки чӣ гуна фармон дар компютери шумо истифода бурда мешавад.