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 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:



That's what rc.d is for.



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

  • Not all versions of cron support @reboot syntax.
    – Daenyth
    Sep 22, 2010 at 22:12

You could create an init.d script UbuntoBootupHowto


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/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.