ПредишенСледващото

Всеки работещ на програма Linux се нарича процес. Linux като система за многозадачна работа се характеризира с факта, че тя може да се управлява едновременно много процеси, принадлежащи към един или повече потребители. Отпечатайте списък на изпълними процеси в настоящия момент може да бъде команда к.с., например, както следва:

PID TT STAT ВРЕМЕ COMMAND

24 март S 0:03 (Баш)

процес Работата също е посочена като референция (инж. Job). Понятията процес и работа са взаимозаменяеми. Въпреки това, процесът обикновено се нарича задача, когато те означават справка контрол (Англ. Контрол на работата). управление на задача - е функция на обвивката, която позволява на потребителя да превключвате между няколко задачи.

В повечето случаи потребителите да използват само една задача - това е отборът, че те са въведени в последната обвивка. Въпреки това, много черупки (включително Баш и tcsh) имат функция за контрол на работата. което позволява да стартирате няколко команди или работни места, както и, когато е необходимо, за да превключвате между тях.

Преден и заден план.

Задачи могат да бъдат извършени или в преден план (Engl. Преден план), или във фонов режим (Engl. Предшестващо състояние). На преден план във всеки един момент може да има само едно работно място. Настройка на преден план взаимодейства с потребителското получава информация от терминал клавиатура и изпраща извеждането на екрана. Цели на заден план, не получават информация от терминал и обикновено нищо не правя продукция (в противен случай да се извежда от тези данни ще бъдат произволно смесени с изхода от командата на преден план). Като правило, това са задачи, които не изискват намеса на потребителя.

Някои задачи се изпълняват за дълго време, както и по време на работата няма нищо интересно. Пример за такива задачи - съставяне на програми, както и за компресиране на големи файлове. Няма причина да погледнете на екрана и изчакайте, докато работата е свършена. Тези работни места могат да се изпълняват изцяло във фонов режим, а след това по време на работа, можете да работите с други програми.

За да контролирате изпълнението на процеси в Linux е предвиден механизъм за сигнализиране. Сигнал - това е възможност за споделяне на процеси със стандартни кратки съобщения директно чрез операционната система. След сигнал не съдържа никаква информация, различна от редица сигнал (за удобство вместо номер, можете да използвате предварително зададена система име). За да се подава сигнал, за достатъчно, за да използвате унищожени система повикване () процес, но за да се получи сигнал, не се нуждаят от нищо. Ако този процес трябва по някакъв начин по специален начин да се отговори на сигнала, той може да се регистрирате манипулатор,
и ако няма манипулатор, вместо да реагира система сигнал. Като правило, това води до незабавно прекратяване на процеса получен сигнал. Сигнал манипулатор работи асинхронно. веднага след получаване на сигнал, че процесът ще бъде по това време, което правех.

Две сигнали - брой 9 (убие) и 19 (стоп) - винаги обработват от системата. Първият от тях е принуден спирки и убива процеса (оттам и името, английската убият. - Kill). STOP сигнал за прекъсване работата: в това състояние на процеса не се отстранява от масата на процеса, но не се изпълнява, стига да получи сигнал 18 (продължение), а след това продължава. сигнал черупка Linux STOP може да се предава чрез активен контрол на процеса последователност +.

Сигнал номер 15 (СРОК) служи за прекъсване на работата. При прекъсване (Eng. Прекъсване) процес задача прекратява. Прекъсване на задачите обикновено се извършват бягство последователност +. Възстановяване на прекъснат работата по никакъв начин не е възможно. За разлика от KILL сигнал, програмата може да прихване СРОК сигнал и поставяте своя манипулатор за сигнала, така че натискане на клавишната комбинация + не може да прекъсне процеса веднага. Това се прави така, че програмата може правилно да си свърши работата - да се премахнат временните файлове, завърши въвеждането на данни и т.н., преди да е завършен ... На практика някои програми обикновено не могат да бъдат прекъсвани по този начин.

Има убие програма за изпращане на сигнал до произволно процес. Нейният формат разговор:

убие [-s СИГНАЛ | -SIGNAL] PID

където СИГНАЛ - изпраща сигнал процес и PID - съответстващ на идентификатора на процеса. Например, за да изпратите процес KILL сигнал 1 може да се запише:

-Баш: убие: (1) - Операцията не е позволено

Тази команда е, разбира се завърши с грешка - за изпращане на сигнали се отнасят и за споразумения за контрол на достъпа,
и средният потребител не е позволено да изпращате сигнали (особено убие) процесите, протичащи както корен (както е обсъдено в предишния лабораторната работа, процесът с PID равна на 1 -. Този първоначален).

Свързани статии

Подкрепете проекта - споделете линка, благодаря!