Basic screen command usage and examples

 

Screen is a very useful command that offers the ability to use multiple shell windows (sessions) from a single SSH session. When the session is detached or there is a network disruption, the process that is started in a screen session will still run and you can re-attach to the screen session at any time. This also comes in handy if you want to run a long process persistently or connect to shell sessions from multiple locations.

In this article, we will show the basics of installing and using screen on a Linux VPS.

How to install screen

Screen comes preinstalled on some of the popular distributions. You can check if it is installed on your server using the following command

screen -v
Screen version 4.00.03 (FAU)

If you do not have screen to the VPS, you can easily install it using the package manager provided by the OS.

CentOS/RedHat/Fedora

yum -y install screen

Ubuntu/Debian

apt-get -y install screen

How to start a screen session

You can start screen by typing ‘screen’ at the command prompt and a new screen session will be started which looks the same as the command prompt

screen

It is a good practice to start screen sessions with descriptive names so you can easily remember which process is running in the session. To create a new session with a session name run the following command

screen -S name

and replace ‘name’ with a meaningful name for your session.

Detach from screen session

To detach from the current screen session you can press ‘Ctrl-A‘ and ‘d‘ on your keyboard. All screen sessions will still be active and you can re-attach to them at any time later.

Reattach to screen session

If you have detached from a session or your connection is interrupted for some reason, you can easily re-attach by executing the following command:

screen -r

If you have multiple screen sessions you can list them with ‘ls’

screen -ls

There are screens on:
7880.session    (Detached)
7934.session2   (Detached)
7907.session1   (Detached)
3 Sockets in /var/run/screen/S-root.

In our example, we have three active screen sessions. So, if you want to restore the session ‘session2’ you can execute

screen -r 7934

or you can use the screen name

screen -r -S session2

Terminate screen session

There are several ways to terminate the screen session. You can do it by pressing ‘Ctrl‘ + ‘d‘ on your keyboard or use the ‘exit’ command line command.

To see all useful features of the screen command you can check screen’s man page.

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]]

 

Source