screen – screen manager with VT100/ANSI terminal emulation.
It’s used to multiplex a physical console between several processes, several separate terminal instances inside a single terminal window manager. Detach/attach terminal sessions to separate program from the terminal shell, so you can detach and exit the terminal without killing what you’re running. It’s also use to share your sessions with other users.

To get Screen:
RedHat based Linux:
# yum install screen
Debian based Linux:
# apt-get install screen

screen usage

To start a screen session, -S sets the session title:
$ screen -S “session name”

To Dettach Screen:
ctl-a d

To reattach to the screen session
$ screen -R
-R attempts to resume the first detached screen session it finds.

To list screen session
$ screen -list

[ ~]# screen --help
Use: screen [-opts] [cmd [args]]
 or: screen -r [host.tty]

-4            Resolve hostnames only to IPv4 addresses.
-6            Resolve hostnames only to IPv6 addresses.
-a            Force all capabilities into each window's termcap.
-A -[r|R]     Adapt all windows to the new display width & height.
-c file       Read configuration file instead of '.screenrc'.
-d (-r)       Detach the elsewhere running screen (and reattach here).
-dmS name     Start as daemon: Screen session in detached mode.
-D (-r)       Detach and logout remote (and reattach here).
-D -RR        Do whatever is needed to get a screen session.
-e xy         Change command characters.
-f            Flow control on, -fn = off, -fa = auto.
-h lines      Set the size of the scrollback history buffer.
-i            Interrupt output sooner when flow control is on.
-l            Login mode on (update /var/run/utmp), -ln = off.
-ls [match]   or
-list         Do nothing, just list our SockDir [on possible matches].
-L            Turn on output logging.
-m            ignore $STY variable, do create a new screen session.
-O            Choose optimal output rather than exact vt100 emulation.
-p window     Preselect the named window if it exists.
-q            Quiet startup. Exits with non-zero return code if unsuccessful.
-Q            Commands will send the response to the stdout of the querying process.
-r [session]  Reattach to a detached screen process.
-R            Reattach if possible, otherwise start a new session.
-s shell      Shell to execute rather than $SHELL.
-S sockname   Name this session .sockname instead of ...
-t title      Set title. (window's name).
-T term       Use term as $TERM for windows, rather than "screen".
-U            Tell screen to use UTF-8 encoding.
-v            Print "Screen version 4.01.00devel (GNU) 2-May-06".
-wipe [match] Do nothing, just clean up SockDir [on possible matches].
-x            Attach to a not detached screen. (Multi display mode).
-X            Execute  as a screen command in the specified session.


To kill or end a screen session, first find the session name by -list

# screen -list
There is a screen on:
        20122.pts-1.ConfigNotes       (Attached)
1 Socket in /var/run/screen/S-root.

Then use the command syntax to end the session
screen -S Session-Name -X quit

$ screen -S 20122.pts-1.ConfigNotes -X quit