2

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

2

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:

http://www.linuxplanet.com/linuxplanet/tutorials/7033/1/

| improve this answer | |
1

That's what rc.d is for.

http://www.linux.com/news/enterprise/systems-management/8116-an-introduction-to-services-runlevels-and-rcd-scripts

| improve this answer | |
0

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

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

You could create an init.d script UbuntoBootupHowto

| improve this answer | |
0

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/

| improve this answer | |

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.