I have a Python script that I would like to have run on startup in Ubuntu. Is there an easy way to do this?
5 Answers
In Ubuntu, the recommended method of doing this is to use Upstart. In order for this to work, you must create a job file placed in:
/etc/init
The exact structure of the script, can be found at:
http://www.linux.com/archive/feature/125977?theme=print
A brief example, however, could look like this:
start on runlevel 2
script
echo "Started"
end script
In this example, when the system switches into runlevel 2, upstart will emet a "runlevel 2" event. All jobs in the /etc/init directory which have a start or stop trigger for runlevel 2 will run. This script is triggered to start on this event, and will do so by echoing "Started". It then exits the script, and will run again the next time the system enters runlevel 2.
A decent tutorial can also be found here:
Create a file rc.local and chmod it to make it executable, then stick in the python script
#!/bin/sh
python_cmd
The usage of rc.local is distribution dependent, it may be in /etc/init.d or in /etc/rc.d/