Фоновый и передний процесс Linux
Как многозадачная операционная система, Linux поддерживает выполнение многих процессов - в основном программ, команд или аналогичных задач - в фоновом режиме, в то время как вы продолжаете работать на переднем плане.
Процессы переднего плана
А процесс переднего плана любая команда или задача, которую вы запускаете напрямую и ждете ее завершения. Некоторые процессы переднего плана показывают определенный тип пользовательского интерфейса, который поддерживает текущее взаимодействие с пользователем, тогда как другие выполняют задачу и «замораживают» компьютер, пока он завершает эту задачу.
В оболочке процесс переднего плана начинается с ввода команды в командной строке. Например, чтобы увидеть простой список файлов в активном каталоге, введите:
ls.
Вы увидите список файлов. Пока компьютер готовит и распечатывает этот список, вы не можете делать что-либо еще из командной строки. После того, как список файлов будет выведен на стандартный вывод, вы снова получите доступ к приглашению оболочки.
Фоновый процесс
В отличие от процесса переднего плана, оболочка не нужно ждать фоновый процесс чтобы закончить, прежде чем он сможет запустить больше процессов. В пределах доступного объема памяти вы можете вводить множество фоновых команд одну за другой. Чтобы запустить команду в фоновом режиме, введите команду и добавьте пробел и амперсанд в конец команды. Например:
command1 &
Когда вы вводите команду с заключительным амперсандом, оболочка выполняет работу, но вместо того, чтобы заставлять вас ждать завершения команды, вы немедленно возвращаетесь в оболочку. На этом этапе вы можете ввести другую команду для переднего или фонового процесса. Фоновые задания выполняются с более низким приоритетом по сравнению с заданиями переднего плана.
Когда фоновый процесс завершится, вы увидите сообщение на экране.
Переключение между процессами
Если процесс переднего плана занимает слишком много времени, остановите его, нажав Ctrl + Z. Остановленное задание все еще существует, но его выполнение приостановлено. Чтобы возобновить работу, но в фоновом режиме, введите bg для отправки остановленного задания на выполнение в фоновом режиме.
Чтобы возобновить приостановленный процесс на переднем плане, введите фг и этот процесс возьмет на себя активную сессию.
Чтобы увидеть список всех приостановленных процессов, используйте рабочие места команду или используйте Топ, чтобы отобразить список задач с наиболее интенсивной загрузкой ЦП, чтобы вы могли приостановить или остановить их, чтобы освободить системные ресурсы. Чтобы изменить приоритет выполнения процесса, используйте отлично а также Ренис.
Shell vs. GUI
Многозадачность работает по-разному в зависимости от того, работаете ли вы с оболочка или графический пользовательский интерфейс. Linux из оболочки поддерживает только один активный процесс переднего плана на виртуальный терминал. Однако с практической точки зрения пользователя оконная среда (например, Linux с рабочим столом, а не текстовая оболочка) поддерживает несколько активных окон, которые эффективно служат в качестве нескольких одновременных переднего плана процессы. На практике Linux «за кулисами» регулирует приоритет процессов в графическом интерфейсе для повышения стабильности системы и поддержки обработки конечных пользователей.