Команда `screen` в Linux — Запуск в Фоне

Команда screen в Linux чрезвычайно полезна в случаях, когда на удаленной машине необходимо запустить какой-то длительный процесс.

Даже в случае обрыва соединения и потери SSH-сессии, с помощью команды screen вы можете быть уверены, что процесс будет продолжать работать в фоновом режиме и «потерянная» сессия в терминале может быть возобновлена.

В этой заметке показано, как установить и как использовать команду screen в Linux для запуска процессов в фоновом режиме.

Дельный Совет: Как прокрутить текст консоли вверх во время выполнения команды screen! Читать далее →

Команда `screen` в Linux

Установите screen, используя одну из следующих команд, в зависимости от вашего дистрибутива Linux:

$ sudo apt-get install screen
- или -
$ sudo yum install screen

Начать screen-сессию:

$ screen

Нажмите пробел или ввод, закройте лицензионное соглашение и перейдите в screen-shell, который выглядит как обычное окно терминала.

Нахожусь ли я в «Screen»? Интерфейс внутри screen-сессии точно такой же, как и командная строка. Чтобы определить, находитесь ли вы внутри screen-сессии или нет, выполните команду echo $STY. Она выводи имя screen-сессии, в которой вы находитесь. Если она ничего не вывела — вы находитесь внутри «настоящего» терминала.

Чтобы запустить screen-сессию, дав ей определенной имя, выполните:

$ screen -S <session_name>

Чтобы выполнить команду в фоновом режиме, без подключения к screen-сессии (удобно применять в скриптах выполняемых при запуске системы), выполните:

$ screen -dm <command>
- или -
$ screen -S <session_name> -dm <command>

Отсоединиться от screen-сессии (перевести ее в фоновый режим): CTRL + A затем D.

Чтобы остановить текущую screen-сессию (не помещать ее в фон, а прервать), нажмите CTRL + D или выполните:

$ exit

Список запущенных screen-сессий:

$ screen -ls

Переподключиться к screen (возобновить screen-сессию):

$ screen -r

Чтобы подключиться к определенной screen-сессии, выполните:

$ screen -r <session_name>

Завершить определенную screen-сессии:

$ screen -X -S <session_name> quit

Чтобы завершить все screen-сессии, выполните:

$ pkill screen

Дельный Совет: Хотите ЗАЖЕЧЬ? Запустите GUI (графическое) приложение на удаленном компьютере под управлением Linux по SSH! Читать далее →