Глава 11. Управление
процессами
Каждая выполняемая программа называется процессом. Эти процессы варьируются от вещей
типа системы X Window до системных программ (демонов), которые запускаются во время
загрузки системы. Каждый процесс выполняется от имени какого-либо пользователя. Процессы,
запускаемые во время загрузки, обычно выполняются от имени root'а или nobody. Процессы, запускаемые
вами, выполняются с вашим правами. Процессы, запускаемые другим пользователями, работают
соответственно с правами этих пользователей.
Вы имеете полный контроль над процессами, которые вы запустили. Кроме того root может управлять всеми процессами в системе, включая те, что
были запущены другими пользователями. Процессами можно управлять и наблюдать за ними с
помощью различных программ, а также с помощью некоторых команд в шелле.
Программы, запускаемые из командной строки, начинают работать в приоритетном режиме
(foreground). Это позволяет вам видеть данные, выводимые программой, и взаимодействовать
с ней. Однако в некоторых случаях вам хотелось бы, чтобы программа работала, не
захватывая полностью ваш терминал. Это называется работой программы в фоновом режиме
(background), и для осуществления этой задачи существует несколько способов.
Первым способом перевода процесса в фоновый режим является добавление в командную
строку амперсанда при запуске программы. Например, допустим, что вы хотите
воспользоваться консольным mp3-плеером amp для воспроизведения
mp3-файлов, однако в то же время вам нужно работать в том же самом терминале. Следующая
команда запустит amp в фоновом режиме:
Программа запустится и будет работать как обычно, а вы снова вернётесь в командную
строку.
Другим способом перевода процесса в фоновый режим является осуществление этого во
время работы процесса. Сначала запустите программу. Во время её работы нажмите Control+z. При этом процесс будет приостановлен.
Иными словами приостановленный процесс “ставится на паузу”. Он мгновенно
прекращает свою работу, но может быть вновь запущен в любое время. После того, как вы
приостановили процесс, вы возвращаетесь в командную строку. Затем вы можете перевести
процесс в фоновый режим, набрав:
При этом приостановленный процесс вновь продолжит свою работу, но уже в фоновом
режиме.