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 аввалин се сигналҳои воқеии воқеиро истифода мебарад.)
Амалияи пешфарз барои сигналҳои воқеии вақти воқеан бетаъхир аз анҷом додани раванди қабулкунанда иборат аст.
Нишондиҳандаҳои воқеӣ аз ҷониби зерин фарқ мекунанд:
- Миқдори зиёди сигналҳои воқеии вақт метавонанд ҷуброн карда шаванд. Баръакс, агар миқдори зиёди сигнали стандартиро расонида истодаанд, вақте ки ин сигнал акнун қатъ карда мешавад, танҳо як рамз ҷуброн карда мешавад.
- Агар сигнал бо истифодабарии сӯзишворӣ фиристода шуда бошад, арзиши ҳамоҳанг (бо ҳам рақам ё нишондиҳанда) бо сигнал фиристода мешавад. Агар раванди қабулкунанда барои ин сигнал истифода аз сарлавҳаи SA_SIGACTION ба сигнал (2) бошад, он метавонад ин маълумотро тавассути доирае , ки ба структураи siginfo_t дода шуда бошад, ҳамчун далели дуюм ба кордиҳанда гузорад. Ғайр аз ин, соҳаҳои si_pid ва si_uid- и ин структура метавонанд барои дарёфти PID ва ID-и ҳақиқии кории раванди фиристодани сигнал истифода шаванд.
- Сигналҳои воқеӣ дар фармоиши кафолат дода мешаванд. Сатҳҳои яквақтаи воқеии ҳамон намуди фармоиш бо тартиби фиристодашуда дода мешаванд. Агар сигналҳои гуногуни воқеии воқеӣ ба раванди ирсолкунанда фиристода шаванд, онҳо аз сигнали пасттарин сар карда мешаванд. (Ie, сигналҳои пасти рақамӣ афзалият доранд).
Агар ҳар ду аломати стандартӣ ва воқеӣ интизор шаванд, ки POSIX онро беэътиноӣ мекунад, ки аввалин бор дода мешавад. Linux, монанди бисёр амалиётҳои дигар, дар ин ҳолат сигналҳои стандартиро афзалият медиҳад.
Мутобиқи POSIX, амалисозӣ бояд ҳадди ақал _POSIX_SIGQUEUE_MAX (32) сигналҳои воқеии вақти ройгонро ба раванди ҷустуҷӯ иҷозат диҳад. Бо вуҷуди ин, ба ҷои маҳдуд кардани маҳдудияти марҳила, Linux маҳдудияти системаро ба шумораи сигналҳои ҳақиқии ҷустуҷӯ барои ҳамаи равандҳо мегузорад.
Ин маҳдудият метавонад бо файлҳои / proc / sys / kernel / rtsig-max- ро тағйир диҳад (ва бо имтиёз). Файли алоқаманд, / proc / sys / kernel / rtsig-max , барои фаҳмидани он, ки чанде аз сигналҳои воқеии замонавӣ ҷуброн карда мешаванд.
МУҚАДДИМА
POSIX.1
Муҳим: Кушодани мард ( % мард ) -ро истифода баред, ки чӣ гуна фармон дар компютери шумо истифода бурда мешавад.