Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Более того, Linux основан на UNIX, где была распространена политика, когда несколько пользователей выполняли несколько команд одновременно и в одной системе. Очевидно, что необходимо принять меры, чтобы ЦП управлял всеми этими процессами, и эту функциональность необходимо предоставить таким образом, чтобы пользователи могли переключаться между процессами. В некоторых случаях процессы придется продолжать работать, даже если пользователь, запустивший их, выйдет из системы. А пользователям нужны средства для повторной активации прерванных процессов.


Мы объясним структуру процессов Linux в следующих разделах.


изображение

4.1.2. Типы процессов


4.1.2.1. Интерактивные процессы


Интерактивные процессы инициализируются и управляются через терминальный сеанс. Другими словами, чтобы запустить эти процессы, к системе должен быть подключен кто-то; они не запускаются автоматически как часть системных функций. Эти процессы могут выполняться на переднем плане, занимая терминал, запустивший программу, и вы не можете запускать другие приложения, пока этот процесс выполняется на переднем плане. Кроме того, они могут работать в фоновом режиме, чтобы терминал, на котором вы запустили программу, мог принимать новые команды во время работы программы. До сих пор мы в основном фокусировались на программах, работающих на переднем плане - время, затрачиваемое на их запуск, было слишком коротким, чтобы его можно было заметить, - но просмотр файла с Меньше command - хороший пример команды, занимающей сеанс терминала. В этом случае активированная программа ждет, что вы что-то сделаете. Программа все еще подключена к терминалу, с которого была запущена, и терминал полезен только для ввода команд, которые эта программа может понять. Другие команды просто приведут к ошибкам или


невосприимчивость системы.


Однако пока процесс выполняется в фоновом режиме, пользователю не запрещается выполнять другие действия в терминале, в котором он запустил программу, во время ее выполнения.


Оболочка предлагает функцию под названием контроль работы что позволяет легко управлять несколькими процессами. Этот механизм переключает процессы между передним и задним планами. Используя эту систему, можно сразу запускать программы в фоновом режиме.


изображение

Запуск процесса в фоновом режиме полезен только для программ, которым не требуется ввод данных пользователем (через оболочку). Перевод задания в фоновый режим обычно выполняется, когда ожидается, что выполнение задания займет много времени. Чтобы освободить терминал выдачи после ввода команды, добавляется амперсанд в конце. В примере, используя графический режим, мы открываем дополнительное окно терминала из существующего:


Билли: ~> xterm &

[1] 26558


Билли: ~> работе

[1] + Бег

xterm &

Билли: ~> xterm &

[1] 26558


Билли: ~> работе

[1] + Бег

Функции полного управления заданиями подробно описаны в колотить Информационные страницы, поэтому здесь перечислены только часто используемые приложения для управления заданиями:


Таблица 4-1. Контролирующие процессы


(часть) команды

Смысл

регулярная_команда

Выполняет эту команду на переднем плане.

команда &

Выполните эту команду в фоновом режиме (отпустите терминал)

работе

Показать команды, работающие в фоновом режиме.

Ctrl+Z

Приостановить (остановить, но не завершить) процесс, запущенный на переднем плане (приостановить).

Ctrl+C

Прерывание (завершение и завершение) процесса, запущенного на переднем плане.


%n

Каждому процессу, работающему в фоновом режиме, присваивается номер. Используя выражение%, можно ссылаться на задание по его номеру, например fg %2.

bg

Реактивировать приостановленную программу в фоновом режиме.

fg

Возвращает задание на передний план.

убивать

Завершить процесс (также см. Встроенные команды оболочки на информационных страницах колотить)

Более практические примеры можно найти в упражнениях.


Большинство систем UNIX, вероятно, смогут работать экран, что полезно, когда вы действительно хотите, чтобы другая оболочка выполняла команды. По звонку экран, создается новый сеанс с сопутствующей оболочкой и / или указанными командами, которые затем можно убрать. В этом новом сеансе вы можете делать все, что хотите. Все программы и операции будут выполняться независимо от выпускающей оболочки. Затем вы можете отсоединить этот сеанс, в то время как программы, которые вы в нем запустили, продолжают работать, даже когда вы выходите из исходной оболочки и выбираете свой экран снова вставай в любое время, когда захочешь.


Эта программа берет свое начало с тех времен, когда виртуальные консоли еще не были изобретены, и все нужно было делать с помощью одного текстового терминала. Для наркоманов это все еще имеет значение в Linux, хотя виртуальные консоли существуют уже почти десять лет.


изображение


4.1.2.2. Автоматические процессы


Автоматические или пакетные процессы не связаны с терминалом. Скорее, это задачи, которые могут быть помещены в очередь в область диспетчера очереди печати, где они ожидают выполнения по принципу FIFO (first-in, first-out). Такие задачи могут быть выполнены по одному из двух критериев:


В определенную дату и время: выполняется с помощью at команда, которую мы обсудим во второй части этой главы.

Иногда, когда общая нагрузка на систему достаточно мала для выполнения дополнительных заданий: выполняется с помощью партия команда. По умолчанию задачи помещаются в очередь, где они ожидают выполнения, пока загрузка системы не станет ниже 0.8. В больших средах системный администратор может предпочесть пакетную обработку, когда необходимо обработать большие объемы данных или когда задачи, требующие большого количества системных ресурсов, должны выполняться в уже загруженной системе. Пакетная обработка также используется для оптимизации производительности системы.


изображение

4.1.2.3. Демоны


Лучшие облачные вычисления для ОС в OnWorks: