Как использовать многозадачность в терминале Linux: 3 способа использования нескольких оболочек одновременно

Терминал Linux обладает богатыми возможностями многозадачности. Вы можете переключаться между виртуальными консолями, уже запущенными в вашей системе, использовать управление заданиями Bash для запуска процессов в фоновом режиме и использовать экран GNU, оконный «оконный менеджер».

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

Виртуальные консоли

По умолчанию большинство систем Linux имеют несколько виртуальных консолей, работающих в фоновом режиме. Переключайтесь между ними, нажимая Ctrl-Alt и нажимая клавишу между F1 и F6 . Ctrl-Alt-F7 обычно возвращает вас на графический X-сервер.

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

Текст «tty1» здесь указывает, что это терминал, расположенный в Ctrl-Alt-F1, tty2 будет в F2.

Это только самые распространенные настройки – в разных дистрибутивах Linux может быть меньше виртуальных консолей, а X-сервер расположен в другом месте.

Bash Job Control

Оболочка Bash предоставляет свои собственные функции для обработки нескольких процессов. Управление заданиями позволяет запускать процессы, прикреплять и отсоединять их. Присоединенный процесс известен как процесс переднего плана, в то время как отдельный процесс известен как фоновый процесс.

Чтобы запустить процесс в фоновом режиме, добавьте символ & после его команды. Например, чтобы открыть текстовый редактор Nano в качестве фонового задания, введите следующую команду:

нано &

[1] указывает, что идентификатор нашей новой работы равен 1. 3751 – это идентификатор процесса.

Каждая работа, которую мы начинаем, получает свой собственный идентификатор работы. Запустите команду jobs , чтобы просмотреть список текущих выполняемых работ. Знак + указывает на задание, которое было в последний раз связано с оболочкой, а знак – указывает на задание, которое было последним, связанным с оболочкой.

Команда fg позволяет вам перенести фоновое задание на передний план, прикрепив его к текущей оболочке. Выполнение команды fg или другой связанной с заданием команды без указания задания будет использовать последнее связанное задание – задание со знаком + в списке заданий. Вы также можете указать номер работы. Например, следующая команда вернет задание 1 на передний план:

фг% 1

Завершите процесс как обычно, и он исчезнет из списка запущенных заданий. Если вы хотите отсоединить задание от текущей оболочки, используйте ^ Z , то есть Ctrl-Z – сочетание клавиш.

Экран GNU

GNU Screen – это «полноэкранный оконный менеджер», который позволяет вам использовать несколько оболочек в одном терминале. Возможно, он не установлен по умолчанию – его нет в Ubuntu. В Ubuntu или Debian используйте следующую команду для установки Screen:

sudo apt-get установочный экран

После установки выполните команду screen , и вы увидите некоторую информацию о Screen.

Нажмите пробел или Enter, и вы увидите нормально выглядящий терминал.

Это может не выглядеть особенным, но эта оболочка на самом деле работает в GNU Screen. Нажмите Ctrl-a , а затем d , чтобы отсоединиться от экрана. Вы вернетесь к обычному терминалу.

Чтобы снова подключиться к экрану, введите команду screen -r . Вы вернетесь к тому же терминалу, что и раньше.

С экраном можно сделать гораздо больше. Например, создайте новое «окно» (терминал) на экране, нажав Ctrl-a , а затем c . Если у вас есть несколько окон, дважды нажмите Ctrl-a , чтобы переключиться между ними. Вы также можете нажать Ctrl-a , а затем «, чтобы просмотреть список окон.

Выберите окно в списке и нажмите Enter, чтобы переключиться на него.

Ранее мы писали об использовании GNU Screen и перешли на использование Byobu, которое улучшает GNU Screen.

Оцените статью
TutoryBird.Ru
Добавить комментарий