Белги - Linux / Unix Command

Linux эки POSIX ишенимдүү белги (мындан ары "стандарттык сигналдар") жана POSIX реалдуу убакытта сигналдар колдойт.

Стандарттык сигналдардын

Linux төмөндө келтирилген типтүү сигналдарды колдойт. "Баасы" тилкеде көрсөтүлгөн бир нече белги номерлери, көз каранды архитектура болуп саналат. (Үч баалуулуктар берилген учурда, биринчи Alpha жана sparc үчүн, адатта, жарактуу, i386, подпунктугда жана Ш. үчүн орто бири, жана mips акыркы бири.

A - белги тиешелүү архитектура боюнча жок экенин билдирет).

төмөнкүдөй столдун "Аракет" тилкеде жазууларын белги үчүн демейки иш-аракеттерди аныктайт:

мөөнөт

По умолчанию иш жараянын токтотуу болуп саналат.

Ign

По умолчанию аракет сигнал көрмөксөн болуп саналат.

Core

По умолчанию иш жараянын токтотууга жана ядро ​​төгүндүлөрүн болуп саналат.

токтотуу

По умолчанию иш жүрүмүн токтотууга болот.

Алгачкы сигнал баштапкы POSIX.1 стандартына сүрөттөлгөн.

сигнал мааниси Аракет түшүндүрмө
же контролдоочу жараянынын өлүм
SIGINT 2 мөөнөт тергич тартып үзүү
SIGQUIT 3 Core тергич алып чыгуу
SIGILL 4 Core мыйзамсыз нускама
SIGABRT 6 Core Муунтуп келген сигналды жоюу (3)
SIGFPE 8 Core Floating жагдай өзгөчө
SIGKILL 9 мөөнөт белги Kill
SIGSEGV 11 Core Жараксыз эс шилтеме
SIGPIPE 13 мөөнөт Broken түтүк: жок окурмандары менен чоор жазуу
SIGALRM 14 мөөнөт Коргойт Timer белги (2)
SIGTERM 15 мөөнөт токтотуу белги
SIGUSR1 30,10,16 мөөнөт Колдонуучу аныкт-сигнал 1
SIGUSR2 31,12,17 мөөнөт Колдонуучу аныкт-сигналдын 2
sigchld сигнал 20,17,18 Ign Child токтотуп же токтотулат
SIGCONT 19,18,25 токтоп, эгер мындан ары да
SIGSTOP 17,19,23 токтотуу токтотуу тартиби
SIGTSTP 18,20,24 токтотуу Телетайп боюнча терилген токтотуу
SIGTTIN 21,21,26 токтотуу маалымат алуу үчүн Телетайп киргизүү
SIGTTOU 22,22,27 токтотуу маалымат алуу үчүн Телетайп чыгаруу

Сигналдар SIGKILL жана SIGSTOP кармап, бөгөттөлгөн, же албай коюуга болбойт.

POSIX.1 стандартында сигналдар жок Кийинки бирок SUSv2 жана SUSv3 / POSIX 1003.1-2001 сүрөттөлгөн.

сигнал мааниси Аракет түшүндүрмө
SIGPOLL мөөнөт Pollable окуя (SYS V). SIGIO менен синоним
SIGPROF 27,27,29 мөөнөт Каттоо Таймер бүттү
SIGSYS 12 - 12 Core нугуна Bad аргумент (SVID)
SIGTRAP 5 Core Trace / чекити тузак
SIGURG 16,23,21 Ign чанак боюнча шашылыш шарт (4,2 BSD)
SIGVTALRM 26,26,28 мөөнөт Virtual ойготкуч саат (4,2 BSD)
SIGXCPU 24,24,30 Core CPU убакыт чегинен ашты (4,2 BSD)
SIGXFSZ 25,25,31 Core File өлчөм чегинен ашты (4,2 BSD)

Жана анын ичинде Linux Up 2.2, SIGSYS үчүн демейки жүрүм-турум, SIGXCPU, SIGXFSZ, жана (SPARC жана MIPS караганда, архитектор башка) SIGBUS жараянын токтотууга болгон (негизги таштанды жок). (Кээ бир башка SIGXCPU жана SIGXFSZ үчүн демейки аракет негизги таштанды жок жараянын токтотууга болот Unices.) Негизги таштанды менен жараянды токтотуу, бул сигналдарды POSIX 1003.1-2001 талаптарына Linux 2.4 ылайыкталып.

Кийинки ар кандай сигналдар.

сигнал мааниси Аракет түшүндүрмө
SIGEMT 7, - 7 мөөнөт
SIGSTKFLT -, 16 - мөөнөт диакритикалык боюнча Stack күнөөлүү (пайдаланылбаган)
SIGIO 23,29,22 мөөнөт I / O азыр мүмкүн (4,2 BSD)
SIGCLD -, -, 18, Ign Sigchld сигнал үчүн синоним
SIGPWR 29,30,19 мөөнөт Power аткарбоо (System V)
SIGINFO 29 - - SIGPWR үчүн синоним
SIGLOST - - - мөөнөт File кулпу жоголгон
SIGWINCH 28,28,20 Ign Терезе өзгөртүү сигнал (4,3 BSD, Sun)
SIGUNUSED -, 31, - мөөнөт Колдонулбаган сигнал (SIGSYS болот)

(Сигнал 29 SIGINFO / бир Alpha бирок SIGLOST бир sparc боюнча SIGPWR болуп саналат.)

SIGEMT POSIX 1003.1-2001 көрсөтүлгөн эмес, бирок, neverthless анын демейки аракет негизги таштанды менен жараянды токтотуу үчүн, адатта, көбүнчө башка Unices, пайда болот.

SIGPWR (POSIX 1003.1-2001 көрсөтүлгөн жок), адатта, ал пайда башка Unices демейки тарабынан эске алынбайт.

SIGIO (POSIX 1003.1-2001 көрсөтүлгөн жок) бир нече башка Unices демейки тарабынан эске алынбайт.

Анык убактагы Сигналдар

Linux башында POSIX.4 реалдуу убакыт узартып (азыр POSIX 1003.1-2001 киргизилген) аныкталган чыныгы убакыттагы сигналдарды колдойт. Linux 63 (SIGRTMAX) 32 (SIGRTMIN) саны 32 реалдуу убакыт сигналдарды, колдойт. (Программалары дайыма реалдуу убакыт сигнал саны диапазону Unices боюнча ар түрдүү болгондуктан, ноталык SIGRTMIN колдонуп + н реалдуу убакыт сигналдар билдириши керек.)

стандарттык сигналдар айырмаланып, реалдуу убакыт сигналдар эч кандай аныкталган мааниге ээ: реалдуу убакыт сигналдар бүтүндөй комплекси арыз-аныкталган максаттар үчүн пайдаланылышы мүмкүн. (LinuxThreads ишке ашыруунун биринчи үч реалдуу убакыт сигналдарды колдонот Бирок, карап көрөлү.)

бир Unhandled реалдуу убакыт сигнал үчүн демейки иш-чаралардын кабыл алуу жараянын токтотуу болуп саналат.

Анык убактагы ээрчиген сигналдар менен айырмаланат:

  1. реалдуу убакыт сигналдар көп учурларда кезекке болот. стандарттуу бир белги бир нече учурлар деген сигнал бобуллубут, ал эми сактап турган болсо, тескерисинче, андан кийин гана бир учур кезекке турат.
  2. Сигнал sigqueue (2) пайдаланып жиберген болсо, коштомо балл (же бүтүн же көрсөткүчү) белги менен жиберилиши мүмкүн. Кабыл алуу жараяны болсо sigaction үчүн SA_SIGACTION желегин колдонуп, бул белги боюнча машыктыруучусу түзүлдү (2), андан кийин ал иштеп чыгуучунун экинчи аргумент катары өткөн siginfo_t структурасын si_value жаатындагы аркылуу бул маалыматтарды алууга болот. Мындан тышкары, бул түзүмүн si_pid жана si_uid талаалар сигнал жиберип жараянынын PID жана чыныгы колдонуучу ID алуу үчүн колдонулушу мүмкүн.
  3. Анык убактагы сигналдар бир кепилдик тартипте жүзөгө ашырылат. Ошол эле типтеги көп реалдуу убакытта сигналдар жиберилген үчүн жеткирилет. ар кандай реалдуу убакыт сигналдар кайра жөнөтүлгөн болсо, алар аз-саны белги менен башталган жеткирилет. (Башкача айтканда, аз саны сигналдар жогорку артыкчылыкка ээ болот.)

стандарт жана реалдуу убакыт сигналдар да жараянына күтүүдө болсо, POSIX биринчи салып турган аныкталбаган коёт. Linux, башка ишке сыяктуу эле, бул учурда кадимки чакыруулардын артыкчылык берет.

POSIX ылайык, ишке ашыруу, жок эле дегенде, _POSIX_SIGQUEUE_MAX (32) реалдуу убакыт сигналдар иштеп чыгуу үчүн кезекке турган жол керек. Бирок, ар бир ишке чек коюу эмес, Linux бардык жараяндардан үчүн кезекке реалдуу убакыт сигналдар санына системасы жалпы чек жүктөйт.

Бул чек көрсө болот (жана сыймык менен) / Жаздын / нүштөрдүн / ядро / rtsig макс делосуна аркылуу өзгөрдү. А байланыштуу билэ, / Жаздын / нүштөрдүн / ядро / rtsig-макс, көптөгөн реалдуу убакыт сигналдар учурда кезекке кантип билиш үчүн колдонсо болот.

ылайык келүүчү

POSIX.1

Маанилүү иш: буйруктар, атап айтканда ЭЭМ колдонулуп келе жатканын көрүп, бир киши (% адам) колдонуу.