De:LinuxInstall
Aus YaCyWiki
Beispiel Initscript
Hier ein Beispiel-Initscript als Basis für Eigentwicklungen auf dem jeweiligen Betriebssystem.
### /etc/init.d/yacy DESC="yacy" NAME=yacy STARTDAEMON=/home/yacy/yacy/startYACY.sh STOPDAEMON=/home/yacy/yacy/stopYACY.sh PIDFILE=/var/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME USER=yacy HOME=/home/yacy/yacy/ test -x $DAEMON || exit 0 d_start() { start-stop-daemon --start --chdir $HOME --chuid $USER --quiet --pidfile $PIDFILE --exec $STARTDAEMON } d_stop() { start-stop-daemon --start --chdir $HOME --chuid $USER --quiet --pidfile $PIDFILE --exec $STOPDAEMON } case "$1" in start) echo -n "Starting $DESC: $NAME" d_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" d_stop echo "." ;; restart|force-reload) echo -n "Restarting $DESC: $NAME" d_stop sleep 2 d_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 ### EOF
Beispielscript für Fedora Core2
#/bin/sh ### /etc/init.d/yacy DESC="yacy" NAME=yacy STARTDAEMON=/home/yacy/yacy/startYACY.sh STOPDAEMON=/home/yacy/yacy/stopYACY.sh PIDFILE=/var/run/$NAME.pid SCRIPTNAME="$0" USER=yacy HOME=/home/yacy/yacy/ test -x $DAEMON || exit 0 RETVAL=0 . /etc/init.d/functions d_start() { if [ -f /var/lock/subsys/yacy ]; then ps -ef | grep yacy >/dev/null 2>&1 if [ $? = 0 ]; then failure echo exit 1 fi fi cd $HOME touch $PIDFILE chown $USER $PIDFILE daemon $STARTDAEMON RETVAL=$? if [ $RETVAL = 0 ]; then touch /var/lock/subsys/yacy fi } d_stop() { $STOPDAEMON RETVAL=$? if [ $RETVAL = 0 ]; then rm -f /var/lock/subsys/yacy 2>/dev/null rm -f $PIDFILE 2>/dev/null else if [ -f /var/run/yacy.pid ]; then ypid=`cat /var/run/yacy.pid` if [ -n $ypid ]; then kill -KILL $ypid RETVAL=$? if [ $RETVAL = 0]; then rm -f /var/lock/subsys/yacy 2>/dev/null rm -f $PIDFILE 2>/dev/null fi fi fi fi if [ $RETVAL -eq 0 ]; then success else FAilure fi; } case "$1" in start) echo -n "Starting $DESC: $NAME" d_start echo ;; stop) echo -n "Stopping $DESC: $NAME" d_stop echo ;; restart|force-reload) echo -n "Restarting $DESC: $NAME" i=0 while [ $i -lt 10 ]; do d_stop sleep 2 ps -ef | grep yacy >/dev/null 2>&1 [ $? = 0 ] || break let i=$i+1 done [ $i -lt 10 ] && d_start || RETVAL=1 echo ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 ### EOF