I first heard about the linux screen command from my amazing friend who is an all together linux genius and she sent me this site (what an amazing name!). I used the screen command a few times before completely forgetting about it as we only tend to master skills when we use them repeatedly.
Now several months later as I sit in a cozy coffee shop in Castle Rock, CO enjoying a few days home with my family I have found a need for the screen command again. I want to download a bunch of data via matlab on a computer sitting in New York but I don't want the process to break when I shut off my computer here in CO.
Numerous other websites walk through the use of the screen command and I found this one particularly useful this time around. Nevertheless I'll summarize my simple use of the command here.
ssh into the server you want to work in : ssh $exampleserver
Start a screen : screen
Run your command : matlab -nodesktop -nosplash -nodisplay
Detach the screen : <cntrl+a+d>
Now you're good to go! The command you started in the screen will happily chug along on the server no matter whether you toss your local computer into the river or chuck it out a car window (though no guarantees if you started a screen command on the local computer).
When you're ready to check on your process ssh back into your server and type the command: screen -r
To look and see how many screens you have open and to find the screenid for your open screens use the command : screen -ls
Once you're process has completed you can kill the detached screen with : screen -X -S SCREENID quit
Note that this example is only for a single screen. Things get slightly more complicated if you want to have multiple screens running and don't even get me started on the exciting Inception parallels you could make if you start creating screens within screens within screens.