- You could do that by using
screen
.
Type man screen
to find out more or read this screen man page.
Simple scenario:
- ssh into your remote box. Type
screen
. Then start the process you want. - Press Ctrl+A, then Ctrl+D. This will “detach” your screen session, but leave your processes running. You can now log out of the remote box.
- If you want to come back later, log on again and type
screen -r
This will “resume” your screen session and you can see the output of your process.
2. You should look for modern alternatives like tmux
.
tmux
is superior to screen
for many reasons, here are just some examples:
- Windows can be moved between session and even linked to multiple sessions
- Windows can be split horizontally and vertically into panes
- Support for UTF-8 and 256 colour terminals
- Sessions can be controlled from the shell without the need to enter a session
Basic Functionality
To get the same functionality as explained in the answer recommending screen
, you would need to do the following:
- ssh into the remote machine
- start
tmux
by typingtmux
into the shell - start the process you want inside the started
tmux
session - leave/detach the
tmux
session by typing Ctrl+b and then d
You can now safely log off from the remote machine, your process will keep running inside tmux
. When you come back again and want to check the status of your process you can use tmux attach
to attach to your tmux
session.
If you want to have multiple sessions running side-by-side, you should name each session using Ctrl+b and $
. You can get a list of the currently running sessions using tmux list-sessions
or simply tmux ls
, now attach to a running session with command tmux attach-session -t <session-name>
.
tmux
can do much more advanced things than handle a single window in a single session. For more information have a look in man tmux
or the tmux GitHub page. In particular, here’s an FAQ about the main differences between screen
and tmux
.