You should look for modern alternatives like
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
To get the same functionality as explained in the answer recommending
screen, you would need to do the following:
- ssh into the remote machine
tmuxinto the shell
- start the process you want inside the started
- leave/detach the
tmuxsession 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
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, 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
The best way is often the simplest.
nohup long-running-command &
It was made specifically for this, it even logs stdout to
ctrl+z bg disown -h
If you want to “background” already running tasks, then Ctrl+Z then run
bg to put your most recent suspended task to background, allowing it to continue running.
disown will keep the process running after you log out. The
-h flag prevents hangup.
screen and others can do it, but that’s not what they’re for. I recommend
nohup for tasks you know you are going to leave behind and
bg for tasks you’re already running and don’t want to re-start.
Keep in mind, both are bash specific. If you’re not using bash, then the commands could be different.
You could do that by using
man screen to find out more or read this screen man page.
ssh into your remote box. Type
screenThen 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 -rThis will “resume” your screen session, and you can see the output of your process.