Команда screen чрезвычайно полезна для одновременного запуска нескольких скриптов в фоновом режиме. Это позволяет запускать длительные задачи без необходимости оставлять открытым отдельный терминал для каждой из них. Ниже мы рассмотрим, как использовать screen для запуска скриптов в фоновом режиме и управления этими сессиями.
Это Guided Lab, который предоставляет пошаговые инструкции, чтобы помочь вам учиться и практиковаться. Внимательно следуйте инструкциям, чтобы выполнить каждый шаг и получить практический опыт. Исторические данные показывают, что это лабораторная работа уровня начальный с процентом завершения 98%. Он получил 96% положительных отзывов от учащихся.
Пиши код вместе с учебником.
Запуск скриптов в фоновом режиме
У вас есть три скрипта, выполняющие различные задачи в директории ~/project.
Откройте терминал (① или ② на рисунке) в среде и введите следующую команду:
ls ~/project
Если вы хотите запустить эти 3 скрипта одновременно, вы можете сделать это следующим образом:
Теперь мы будем использовать screen для одновременного запуска этих скриптов в отсоединенных сессиях.
Для запуска этих скриптов в фоновом режиме с использованием screen мы будем использовать опцию -dmS:
-d запускает сессию и сразу же отсоединяется от нее.
-m заставляет screen создать новую сессию.
-S позволяет нам дать имя сессии для удобства ссылки на нее.
Запуск скриптов
Откройте один терминал и перейдите в директорию, содержащую ваши скрипты. Затем запустите каждый скрипт в отдельной сессии screen с использованием следующих команд:
После запуска скриптов вы можете управлять этими сессиями screen различными командами.
Список всех сессий
screen -ls
Эта команда покажет все запущенные сессии screen.
Возвращение к сессии
screen -r session_name
Если вы хотите проверить вывод или взаимодействовать с определенным скриптом, используйте эту команду, чтобы вернуться к его сессии. Замените session_name именем, которое вы присвоили при запуске скрипта (например, task1, task2 или task3).
Отсоединение от сессии
После того, как вы проверили сессию, вы можете отсоединиться от нее и позволить ей продолжать работу в фоновом режиме, нажав Ctrl-a, а затем d.
Завершение сессии
Для завершения сессии вернитесь к ней с помощью screen -r session_name, а затем введите exit или нажмите Ctrl-d.
Заключение
Использование screen для управления несколькими фоновыми задачами может существенно упростить ваш рабочий процесс, особенно при работе с длительно выполняющимися или фоновыми процессами. Запуская скрипты в отсоединенных сессиях screen, вы поддерживаете чистую рабочую среду и обеспечиваете непрерывную работу процессов, даже если вы отключитесь от сервера или закроете терминал.
Попробуйте использовать screen, чтобы узнать, как он может наилучшим образом вписаться в ваш рабочий процесс и повысить вашу продуктивность!