Фоновый и передний процесс Linux

Как многозадачная операционная система, Linux поддерживает выполнение многих процессов — в основном, программ или команд или аналогичных задач — в фоновом режиме, пока вы продолжаете работать на переднем плане.

Процессы переднего плана

Процесс переднего плана — это любая команда или задача, которую вы запускаете напрямую и ждете ее завершения. Некоторые процессы переднего плана показывают некоторый тип пользовательского интерфейса, который поддерживает постоянное взаимодействие с пользователем, тогда как другие выполняют задачу и «замораживают» компьютер, пока он выполняет эту задачу. 

В командной оболочке процесс переднего плана начинается с ввода команды в командной строке. Например, чтобы увидеть простой список файлов в активном каталоге, введите:

$

Ls

Вы увидите список файлов. Пока компьютер готовит и печатает этот список, вы ничего не можете сделать из командной строки.

Фоновый процесс

В отличие от процесса переднего плана, оболочке не нужно ждать завершения фонового процесса, прежде чем она сможет запустить больше процессов. В пределах объема доступной памяти вы можете вводить много фоновых команд одну за другой. Чтобы запустить команду как фоновый процесс, введите команду и добавьте пробел и амперсанд в конце команды. Например:

$

command1 

Когда вы вводите команду с заключительным амперсандом, оболочка выполнит работу, но вместо того, чтобы заставлять вас ждать завершения команды, вы сразу же вернетесь в оболочку и увидите приглашение оболочки (% для C Shell и $ для Bourne Shell и Korn Shell) возвращаются. На этом этапе вы можете ввести другую команду для переднего или фонового процесса. Фоновые задания выполняются с более низким приоритетом по сравнению с приоритетными.

По завершении фонового процесса вы увидите сообщение на экране.

Переключение между процессами

Если процесс переднего плана занимает слишком много времени, остановите его, нажав CTRL + Z. Остановленное задание все еще существует, но его выполнение приостановлено. Чтобы возобновить работу, но в фоновом режиме, введите Б.Г. отправить остановленное задание в фоновом режиме.

Чтобы возобновить приостановленный процесс на переднем плане, введите фг и этот процесс займет активную сессию.

Чтобы увидеть список всех приостановленных процессов, используйте работы или используйте команду Вверх Команда, чтобы показать список наиболее ресурсоемких задач, чтобы вы могли приостановить или остановить их, чтобы освободить системные ресурсы. Чтобы изменить приоритет выполнения процесса, используйте отлично а также Renice.

Shell vs. GUI

Многозадачность работает по-разному в зависимости от того, работаете ли вы из оболочки или из графического интерфейса пользователя. Linux из оболочки поддерживает только один активный процесс переднего плана для каждого виртуального терминала. Однако с практической точки зрения пользователя оконная среда (например, Linux с рабочим столом, а не из текстовой оболочки) поддерживает несколько активных окон, которые эффективно служат в качестве нескольких одновременных процессов переднего плана. На практике Linux за кулисами регулирует приоритет процессов в графическом интерфейсе для обеспечения стабильности системы и поддержки обработки конечным пользователем.

Ссылка на основную публикацию