Initscripts/Writing rc.d scripts

From ArchWiki
Revision as of 10:58, 5 December 2008 by RedShift (Talk | contribs) (New page: If a daemon accepts arguments, the script must have its equivalent in /etc/conf.d. A proper example for tftpd: /etc/conf.d/tftpd: TFTPD_ARGS="-l -s /var/tftpboot -c" /etc/rc.d/tftpd ...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

If a daemon accepts arguments, the script must have its equivalent in /etc/conf.d.


A proper example for tftpd:

/etc/conf.d/tftpd:

TFTPD_ARGS="-l -s /var/tftpboot -c"

/etc/rc.d/tftpd

  1. !/bin/bash

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

TFTPD_ARGS=

[ -f /etc/conf.d/tftpd ] && . /etc/conf.d/tftpd

PID=`pidof -o %PPID /usr/sbin/in.tftpd` case "$1" in

 start)
   stat_busy "Starting TFTPD"
   [ -z "$PID" ] && /usr/sbin/in.tftpd ${TFTPD_ARGS}
   if [ $? -gt 0 ]; then
     stat_fail
   else
     add_daemon in.tftpd
     stat_done
   fi
   ;;
 stop)
   stat_busy "Stopping TFTPD"
   [ ! -z "$PID" ]  && kill $PID &> /dev/null
   if [ $? -gt 0 ]; then
     stat_fail
   else
     rm_daemon in.tftpd
     stat_done
   fi
   ;;
 restart)
   $0 stop
   $0 start
   ;;
 *)
   echo "usage: $0 {start|stop|restart}"  

esac exit 0