Команды утилиты screen в Linux

С тех пор как я начал запускать python-приложения и разные скрипты на удаленных машинах по SSH, столкнулся с проблемой, что при закрытии терминала убивается и запущенный процесс. Обходится этот момент разными способами. Кто-то пишет скрипты для запуска процессов с системой, но мне понравилась утилита screen, позволяющая работать с разными окнами терминала в рамках одной сессии, и которая не убивает процессы при его закрытии.

Утилита screen является предустановленной, поэтому для начала просто проверьте её версию:

screen --version

Если же утилита отсутствует, устанавливается она следующим образом:

apt install screen

Запускается утилита в терминале просто:

screen

Однако желательно запускать утилиту дав имя сессии. Это будет полезно, если вы планируете запускать несколько процессов параллельно. Иначе нужный процесс придется потом искать по сессиям с рандомными числовыми названиями. Запустить сессию с конкретным названием можно командой:

screen -S my_name

Находясь в окне сессии вы можете перейти в нужный каталог и запустить нужный python скрипт, например. После чего выйти из окна сессии введя: ctrl + a + d

Основные команды screen

Закрыть окно сессииctrl + a + d
Список всех запущенных сессийscreen -ls
Вернуться к нужной сессииscreen -r id
создать дополнительное окноctrl+a + c
показать список всех имеющихся оконctrl+a + «
переключиться на окно с номером 0 (номер может быть иной)ctrl+a + 0
переименовать текущее окноctrl+a + A