Linux – How Do I Add My Own Daemons in Arch Linux? (BSD-style init)

arch linuxbsddaemoninit

I have created a symlink to a start/stop/etc. wrapper bash script in /etc/rc.d, added it to DAEMONS=() in rc.conf, but the process it points to isn’t starting on boot, and isn’t showing up in the output of $ rc.d list. Googling around, I have seen mention of update-rc.d, but it seems that command is not available in Arch Linux. What is the right way of adding a system-wide daemon (i.e., without using rc.local) that can be used the same way as the defaults?

Best Answer

What does update-rc.d to do with Arch ? that's for debian based distros.

A sample script, put it in /etc/rc.d/XX and make it executable, and edit /etc/rc.conf, push the name of the service into DAEMONS array

#!/bin/sh

. /etc/rc.conf
. /etc/rc.d/functions

case "$1" in
        stop)
                stat_busy "Stopping XX"
                command_to_exec && rm_daemon XX && stat_done || stat_fail
                ;;
        start)
                stat_busy "Starting XXX"
                command_to_exec && add_daemon XX && stat_done || stat_fail
                ;;

esac

exit 0

If you're not seeing the daemon in list, you've probably missed the add_daemon function

Related Question