Linux Screen

Screen is a command that will allow you to log in to a command terminal, start something running (compiling or such) and sever the connection, only to be able to come back to it later and find that the application that you had running is still running.

For the example, I will show me compiling something.
jonn@anubis:~$ screen
jonn@anubis:~$ ./configure
jonn@anubis:~$ make && make install

To detach the screen, type:
<ctl> + a, d

You will then see:
jonn@anubis:~$ screen
[detached]
jonn@anubis:~$

At this point I can close my SSH connection and go home from work. When I get home, I can open up my SSH connection again and type:
jonn@anubis:~$ screen -a

This will reattach me and I can see the results of the compile.

If you have multiple screens running, you can list them like this:
$ screen -ls

You can then attach to a specific screen id:
screen -x screen.id

If you find yourself creating a screen all the time and want to automatically attach to it on login, add the following on the last line of your .bashrc:
screen -d -r