Just a quick note about an awesome tool I’ve discovered on my travels.

The ‘screen‘ command in a linux shell.

This neat little tool allows you to run a remote shell (via SSH in my case) and run a command so that it doesn’t die after you exit the SSH session.

Normally when you exit an SSH session while a command is being run you will kill any processes being run by that session. With screen, you basically tell it to leave that particular session in the background (running) and you can come back to it at any time and check on its progress.

I’ve found it particularly useful when I’m using Rsync to dump the files from one computer to another (as in my current predicament.

So basically your essential commands are:

localhost@user:$ screen

This makes a new screen so you are given a new shell in which to type any commands you need to run in the background.

localhost@user:$ screen -ls

This will give you a list of current screen sockets open. Note the socket number so you can get back to the screen you want.

localhost@user:$ screen -r [screen socket number]

This command will reattach/restore the screen you had running to the front so that you can check on it’s progress. If at this point you exit the shell the session will still remain and you can use the same command to restore it again.


Once you are finished, just type exit and it should kill the socket and drop back to the standard shell.

If for whatever reason it doesn’t drop the socket (check with screen -ls) you can either leave it (I doubt it would use much memory anyway) or use the command screen -wipe and that will destroy all sockets that have been made.

So that’s it. What a useful tool, and very easy to use.

As always with Linux, it has many more options than described here, so you can check the man pages on it (man screen) or just screen –help will give you most of what you’ll ever need.