nextuppreviouscontents
Next:Передний план и фоновый Up:Управление заданиямиPrevious:Управление заданиями

Задания и процессы

  Многие командные оболочки (включая bash и tcsh) имеют функции управления заданиями (job control). Управление заданиями позволяет запускать одновременно несколько команд или заданий (jobs) и осуществлять управление ими. Прежде чем говорить об этом более подробно, следует рассмотреть понятие процессов (processes).

  Каждый раз при запуске программы стартует некоторый процесс. Вывести список протекающих в настоящее время процессов можно командой ps, например, следующим образом:

/home/larry# ps

  PID TT STAT  TIME COMMAND
   24  3 S     0:03 (bash)
  161  3 R     0:00 ps
/home/larry#


  Номера процессов (process ID, или PID), указанные в первой колонке, являются уникальными номерами, которые система присваивает каждому работающему процессу. Последняя колонка, озаглавленная COMMAND, указывает имя работающей команды. В данном случае в списке указаны процессы, которые запустил сам пользователь larry. В системе работает еще много других процессов, их полный список можно выдать командой ps -aux. Однако среди команд, запущенных пользователем larry, есть только bash (командная оболочка для пользователя larry) и сама команда ps. Видно, что оболочка bash работает одновременно с командой ps. Когда пользователь ввел команду ps, оболочка bash начала ее исполнять. После того, как команда ps закончила свою работу (таблица процессов выведена на экран), управление возвращается процессу bash. Тогда оболочка bash выводит на экран приглашение и ждет новой команды.

  Работающий процесс также называют заданием (job). Понятия процесс и задание являются взаимозаменяемыми. Однако, обычно процесс называют "заданием", когда имеют ввиду управление заданием (job control). Управление заданием -- это функция командной оболочки, которая предоставляет пользователю возможность переключаться между несколькими заданиями.

В большинстве случаев пользователи запускают только одно задание -- это будет та команда, которую они ввели последней в командной оболочке. Однако, используя свойство управления заданиями, можно запустить сразу несколько заданий и, по мере надобности, переключаться между ними.

Управление заданиями может быть полезно, если, например, вы редактируете большой текстовый файл и хотите временно прервать редактирование, чтобы сделать какую-нибудь другую операцию. С помощью функций управления заданиями можно временно покинуть редактор, вернуться к приглашению командной оболочки и выполнить какие-либо другие действия. Когда они будут сделаны, можно вернуться обратно к работе с редактором и обнаружить его в том же состоянии, в котором он был покинут. У функций управления заданиями есть еще много полезных применений.


nextuppreviouscontents
Next:Передний план и фоновый Up:Управление заданиямиPrevious:Управление заданиями
root

Sun Aug 29 12:01:30 MSD 1999