Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_ЛР 902_Часть2.doc
Скачиваний:
38
Добавлен:
15.04.2015
Размер:
274.94 Кб
Скачать
  1. Приостановим её выполнение:

Ctrl+Z

  1. На экране появится сообщение:

[1]+ Stopped yes

Это означает, что данный приостановленный процесс является текущим с номером 1.

  1. Продолжим выполнение этого процесса в фоновом режиме:

#bg %1

или, в данном случае:

#bg (так как процесс текущий)

Убедимся в выполнении этого процесса с помощью команды jobs:

[1]+ Running yes

  1. Пример 2

  2. Уничтожим процесс с номером 3:

#kill %3

Возможно, на экране появится сообщение вида:

[3]+ Stopped <название команды>

Это сообщение о том что, опять таки, процесс был приостановлен, может ввести в заблуждение. Чтобы выяснить, «жив» ли еще процесс (т.е. исполняется или находится в приостановленном состоянии), напишите в командной строке:

#jobs

[3]+ Terminated yes

Это означает, что процесс был завершен. В случае повторного ввода команды jobs– процесс с номером 3 больше упоминаться не будет. Возможно, что командаjobsне выдаст никакого сообщения. Это означает, что ни один из процессов не запущен в фоновом режиме.

Обобщим то, что вы должны были узнать в этом разделе:

[ctrl-z]– Такая комбинация клавиш вызывает приостановку задачи работающей в приоритетном режиме, хотя некоторые программы могут игнорировать её. После того, как задача приостановлена, она может исполняться в фоновом режиме.

[fg] [%номер задачи]– Эта встроенная командаshell'а устанавливает задачу в приоритетный режим. Чтобы понять, какая задача будет установлена в приоритетный режим по умолчанию, напишитеjobs, и найдите задачу с «+».

[&]– Когда&добавляется в конец командной строки, это заставляет команду исполняться в фоновом режиме.

[bg] [%номер задачи]– Это встроенная командаshell'а,которая устанавливает задачу в фоновый режим. Чтобы понять, какая задача будет установлена по умолчанию, наберитеjobs, и найдите задачу с «+».

[kill] [%номер задачи]– Эта команда завершает задачу работающую в фоновом режиме или приостановленную. Вместо параметра[%номер задачи] можно использоватьPIDпроцесса (его можно увидеть, например, при запуске процесса в фоновый режим)

[jobs]– Эта командаshell'а просто перечисляет информацию о задачах, которые исполняются или приостановлены. Иногда, она также сообщают о процессах, которые благополучно завершились или были завершены.

[ctrl-c]– Это общий символ прерывания. Обычно, если вы нажимаете эту комбинацию клавиш, когда программа исполняется в приоритетном режиме, то уничтожаете программу (иногда для этого надо несколько попыток). Однако не все программы будут реагировать на этот способ прерывания.

    1. Мониторинг многозадачной среды

    1. Информация о состоянии процессов. Мониторинг процессов с помощью ps

Назначение команды ps – отслеживание работы фоновых и других процессов в системе. Поскольку в большинстве случаев фоновые процессы никак не взаимодействуют ни с экраном, ни с клавиатурой, то ps остается основным средством наблюдения за ними. Как правило, эта команда используется с рядом параметров, которые определяют выводимые поля. Одни из основных полей, выводимые командой ps перечислены в таблице 3, а некоторые опции этой команды – в таблице 4.

Таблица 3 . Основные поля, выводимые командой ps

            1. Поле

            1. Описание

USER

        1. Имя пользователя

PID

        1. Идентификатор процесса

%CPU

        1. Процентная часть ресурсов ЦП используемая данным процессом

%MEM

        1. Процентная часть ресурсов ОЗУ используемая данным процессом

TTY

Терминал, с которого был запущен процесс

STAT

Статус процесса (R– выполняется,S– в режиме ожидания,N– процесс сниженного приоритета,W– временно полностью выгружен из памяти)

START

        1. Время начала работы процесса

TIME

Время работы процесса

COMMAND

Имя выполненной команды

Таблица 4. Некоторые опции команды ps

            1. Опция

            1. Описание

-a

Процессы всех пользователей

-l

Расширенный формат вывода с дополнительной информацией

-r

Только работающие процессы

-u

Формат вывода с указанием пользователя

-x

Показать процессы без контролирующего терминала

Теперь приведем несколько примеров использования команды ps. Итак, если без опций команда ps вывела информацию в виде

# ps

PID TTY TIME CMD

559 tty1 00:00:01 login

560 tty1 00:00:01 bash

583 tty1 00:00:00 ps

то при запросе информации только о работающих процессах:

#ps - r

PID TTY STAT TIME COMMAND

594 tty1 R 0:00 ps -r