Программу можно запустить как фоновый процесс (указать в строке после запускаемой команды символ &) или перевести задачу переднего плана (foreground) в фоновый режим (с помощью команды bg). При работе программы в качестве фонового процесса вы можете продолжать вводить команды и работать с другими процессами.
Для примера рассмотрим команду yes:
# yes
(команда запушена в «приоритетном режиме»)
Результатом работы этой команды будет длинный столбец символов y в левом краю экрана, бегущий быстрее, чем вы можете следить за этим.
Можно приостановить выполнение команды комбинацией клавиш Ctrl+Z. Процесс приостановил свое выполнение, но не прекратился. При этом на экране появится сообщение:
[1]+ Stopped yes
Давайте разберем его по частям:
[1] - это номер задачи, он используется когда нам надо сослаться конкретно на эту задачу. Если вы запускаете некоторый процесс в фоновом режиме, то shell выводит PID запущенного процесса и номер задачи (при выполнении л/р их желательно запоминать).
«+» - говорит о том, что этот процесс является текущим процессом или процессом по умолчанию. Если запущено несколько процессов, то кроме того, у одного из них будет стоять знак «-». Он обозначает предыдущуюзадачу которая может стать текущей после завершения нынешней текущей.
Stopped - означает, что процесс приостановлен. Процесс не «умер», но сейчас он не выполняется. Linux хранит его в особом приостановленном состоянии, готовым продолжить работу, если будет дана соответствующая команда.
yes - имя команды, которое было введено в командной строке при запуске программы.
Теперь, пока процесс находится в режиме ожидания, мы можем продолжить его выполнение либо в фоновом режиме, либо в приоритетном режиме, либо вообще уничтожить этот процесс. Рассмотрим каждый конкретный случай:
· bg [%номер задачи]–чтобы перевести процесс в фоновый режим;
· fg [%номер задачи]– чтобы перевести процесс в приоритетный режим;
· kill [%номер задачи]– чтобы убить процесс.
Во всех рассмотренных командах [%номер задачи] – необязательный параметр, и он необходим, когда вы работаете с не текущим процессом. Кроме того, уничтожить процесс можно также, если запустить этот процесс в приоритетном режиме (с помощью команды fg), а затем – нажатием комбинации клавиш Ctrl+C – уничтожить его.