I've setup an Amazon EC2 server. I have a Python script that is supposed to download large amounts of data from the web onto the server. I can run the script from the terminal through ssh
, however very often I loose the ssh
connection. When I loose the connection, the script stops.
Is there a method where I tell the script to run from terminal and when I disconnect, the script is still running on the server?
You can also use
nohup
to make your script run in the background or when you have disconnected from your session:nohup script.py &
The
&
at the end of the command explicitly tellsnohup
to run your script in the background.If it just a utility you run ad-hoc, not a service daemon of some kind, i would just run it in
screen
. Than you can disconnect if you want and open the terminal back up later... Or reconnect the terminal if you get disconnected. It should be in your linux distros package manager. Just search forscreen
http://www.gnu.org/software/screen/
You have a few options.
cron
to be run regularly.nohup
.screen
.screen -rD
. You should see your stuff just as you left it./etc/rc.d/
to be invoked on book and always be running.