Операционные системы. Теория и практика. Замятин А.В. - 247 стр.

UptoLike

Составители: 

247
возможно, требуются пользователю, но он в это время может работать с
другими программами.
Задания, работающие в фоновом режиме, могут пытаться выводить
некоторый текст на экран. Это будет мешать работать над другими зада-
чами. Например, если ввести команду
/home/larry# yes &
(стандартный вывод не был перенаправлен на устройство /dev/null),
то на экран будет выводиться бесконечный поток символов y. Этот по-
ток невозможно будет остановить, поскольку комбинация клавиш Ctrl-C
не воздействует на задания в фоновом режиме. Чтобы остановить эту
выдачу, надо использовать команду fg, а затем уничтожить задание ком-
бинацией клавиш Ctrl-C.
Сделаем еще одно замечание. Обычно командой fg и командой bg
воздействуют на те задания, которые были приостановлены последними
(эти задания будут помечены символом «+» рядом с номером задания,
если ввести команду jobs). Если в одно и то же время работает одно или
несколько заданий, задания можно помещать на передний план или в
фоновый режим, задавая в качестве аргументов команды fg или команды
bg их идентификационный номер (job ID). Например, команда
/home/larry# fg %2
помещает задание номер 2 на передний план, а команда
/home/larry# bg %3
помещает задание номер 3 в фоновый режим. Использовать PID в каче-
стве аргументов команд fg и bg нельзя. Более того, для перевода зада-
ния на передний план можно просто указать его номер. Так, команда
/home/larry# %2
будет эквивалентна команде
/home/larry# fg %2
Важно помнить, что функция управления заданием принадлежит
оболочке. Команды fg, bg и jobs являются внутренними командами обо-
лочки.
9.4 Механизмы межпроцессного взаимодействия в ОС Unix
При решении задачи синхронизации процессов и их взаимодей-
ствия посредством различных механизмов, предоставляемых ОС, может
потребоваться использование следующих системных вызовов: