Debian – Autostart programs on boot


Apps-gksu-debian-iconFor the Debian system, we have a directory called /etc/init.d/ where the scripts that the init process runs during startup. And shutdown. So If it your own software you want to autostart, consider a exit argument in your runtime file. Or just use killall function.

We have a executable written in Mono, that we called myService. Here is how we will get that to start at boot.
vim /etc/init.d/myService

 

 

Here is the file:

#! /bin/sh
# /etc/init.d/myService

# This code will always execute
echo “Trying to start the service”

# Here we start (or stop) depending on the paramter (start/stop)
case “$1” in
start)
echo “Starting myService”
mono /home/myService/runtime/myService.exe
echo “myService is alive”
;;
stop)
echo “Stopping mymet-tow”
mono /home/myService/runtime/myService.exe -killme
echo “myService is dead”
;;
*)
echo “Usage: /etc/init.d/myService {start|stop}”
exit 1
;;
esac
exit 0

Before we can use the script to start our service, we need to make it executable.
chmod 755 /etc/init.d/myService

You can now call the script to start and stop the service. But we want it to start up on boot, so we continue. Then we will add the script to the default runlevel.

update-rc.d myService defaults

If you later want to remove it, run
update-rc.d -f myService remove

You can now try to reboot your server and see if it runs.

Happy autostarting!

Have any Question or Comment?

Leave a Reply