Take the 2-minute tour ×

I have a Python script that I would like to have run on startup in Ubuntu. Is there an easy way to do this?

share|improve this question

migrated from stackoverflow.com Sep 22 '10 at 18:56

This question came from our site for professional and enthusiast programmers.

5 Answers 5

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:


The exact structure of the script, can be found at:


A brief example, however, could look like this:

start on runlevel 2
   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:


share|improve this answer

I would suggest using a cronjob for it. There is a scheduling event to run on startup.

share|improve this answer
Not all versions of cron support @reboot syntax. –  Daenyth Sep 22 '10 at 22:12

You could create an init.d script UbuntoBootupHowto

share|improve this answer

Create a file rc.local and chmod it to make it executable, then stick in the python script


The usage of rc.local is distribution dependent, it may be in /etc/init.d or in /etc/rc.d/

share|improve this answer

Your Answer


