Приоритетный и фоновый режимы

Программу можно запустить как фоновый процесс (указать в строке после запускаемой команды символ &) или перевести задачу переднего плана (foreground) в фоновый режим (с помощью команды bg). При работе программы в качестве фонового процесса вы можете продолжать вводить команды и работать с другими процессами.

Для примера рассмотрим команду yes:

# yes

(команда запушена в «приоритетном режиме»)

Результатом работы этой команды будет длинный столбец символов y в левом краю экрана, бегущий быстрее, чем вы можете следить за этим.

Можно приостановить выполнение команды комбинацией клавиш Ctrl+Z. Процесс приостановил свое выполнение, но не прекратился. При этом на экране появится сообщение:

[1]+ Stopped yes

Давайте разберем его по частям:

[1] - это номер задачи, он используется когда нам надо сослаться конкретно на эту задачу. Если вы запускаете некоторый процесс в фоновом режиме, то shell выводит PID запущенного процесса и номер задачи (при выполнении л/р их желательно запоминать).

«+» - говорит о том, что этот процесс является текущим процессом или процессом по умолчанию. Если запущено несколько процессов, то кроме того, у одного из них будет стоять знак «-». Он обозначает предыдущуюзадачу которая может стать текущей после завершения нынешней текущей.

Stopped - означает, что процесс приостановлен. Процесс не «умер», но сейчас он не выполняется. Linux хранит его в особом приостановленном состоянии, готовым продолжить работу, если будет дана соответствующая команда.

yes - имя команды, которое было введено в командной строке при запуске программы.

Теперь, пока процесс находится в режиме ожидания, мы можем продолжить его выполнение либо в фоновом режиме, либо в приоритетном режиме, либо вообще уничтожить этот процесс. Рассмотрим каждый конкретный случай:

· bg [%номер задачи]–чтобы перевести процесс в фоновый режим;

· fg [%номер задачи]– чтобы перевести процесс в приоритетный режим;

· kill [%номер задачи]– чтобы убить процесс.

Во всех рассмотренных командах [%номер задачи] – необязательный параметр, и он необходим, когда вы работаете с не текущим процессом. Кроме того, уничтожить процесс можно также, если запустить этот процесс в приоритетном режиме (с помощью команды fg), а затем – нажатием комбинации клавиш Ctrl+C – уничтожить его.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: