Screen очень полезная команда, которая предлагает возможность использовать несколько окон оболочки (сеансов) от одного сеанса SSH в Linux. Когда сеанс отсоединен или есть нарушения сети, процесс, который запускается в сеансе экрана по-прежнему будет работать, и вы можете повторно подключиться к сессии экрана в любое время. Это также очень удобно, если вы хотите запустить длительный процесс постоянно или подключиться к оболочке сеансов из нескольких мест.
В этой статье мы покажем основы установки и использования экрана на Linux VPS.
Экран поставляется с предустановленной на некоторых из популярных дистрибутивов. Вы можете проверить установлен он или нет на сервере с помощью следующей команды
screen -v Screen version 4.00.03 (FAU)
Если у вас нет экрана к VPS, вы можете легко установить его с помощью менеджера пакетов, предоставляемой с операционной системой.
yum -y install screen
apt-get -y install screen
Вы можете начать экран, набрав слово “screen” в командной строке и новый сеанс экран будет запущен, который выглядит так же, как в командной строке
screen
Это хорошая практика, чтобы начать занятия экрана с описательными именами, так что вы можете легко вспомнить, какой процесс выполняется в сеансе. Чтобы создать новый сеанс с именем сеанса выполните следующую команду
screen -S name
и заменить ‘name‘ с понятным названием для вашей сессии.
Для того, чтобы отключиться от текущего сеанса экрана вы можете нажать клавишу ‘Ctrl-A‘ и ‘ D‘ на клавиатуре. Все сеансы экрана будут по- прежнему активны, и вы можете повторно подсоединиться к ним в любое время позже.
Если вы оторваны от сеанса или ваше соединение прерывается по какой-то причине, вы можете легко повторно подсоединиться, выполнив следующую команду:
screen -r
Если у вас есть несколько сеансов экрана вы можете перечислить их с ‘ls‘
screen -ls There are screens on: 7880.session (Detached) 7934.session2 (Detached) 7907.session1 (Detached) 3 Sockets in /var/run/screen/S-root.
В нашем примере, у нас есть три активных сеансов экрана. Итак, если вы хотите восстановить сеанс “session2”, вы можете выполнить
screen -r 7934
или вы можете использовать имя экрана
screen -r -S session2
Есть несколько способов, чтобы завершить сеанс экрана. Вы можете сделать это, нажав ‘Ctrl‘ + ‘ D‘ на клавиатуре или с помощью команды командной строки ‘exit‘.
Для того чтобы увидеть все полезные свойства экрана команды вы можете проверить man page screen.
man screen NAME screen - screen manager with VT100/ANSI terminal emulation SYNOPSIS screen [ -options ] [ cmd [ args ] ] screen -r [[pid.]tty[.host]] screen -r sessionowner/[[pid.]tty[.host]]