init.d_pepodiod

最初に

init.s_pepodiodlとはPepoLinux-0.49に収録されているシリアルDIOボードの各ポートを監視して適当なプログラムを起動するdaemonのpepodiodの起動用のスクリプトです。 /etc/init.d/pepodiodへ登録して、serviceコマンドから起動/停止させるものです

root@~# service pepodiod start

Starting pepodiod services: [ OK ]

root@~# service pepodiod stop

Stopping : [ OK ]

2011.10.25 by.Yamauchi Isamu

#!/bin/bash
#
# chkconfig: 2345 99 03
# description: pepodiod serial-dio daemon \
# contorl digital-Input to ANDDIO, by.IZAMUKARERA \
# 2011.10.18
# processname: pepodiod
# pidfile: /var/run/pepodiod.pid
# config: /etc/sysconfig/pepodiod

# source function library
. /etc/init.d/functions
PATH="/usr/local/bin:$PATH"
prog=pepodiod
progexec=diod_exec
killprog=killps
DI_TTY=ttyS1
ALIAS_DI=/var/tmp/.alias_di
[ -e "$ALIAS_DI" ] && . "$ALIAS_DI"
[ ! -z "$DI_TTY" ] && DIO_DEV="/dev/"${DI_TTY}

if
 test -e /etc/sysconfig/$prog ; then
    . /etc/sysconfig/$prog
fi

RETVAL=0

        if [ -e /var/lock/subsys/$prog ];then
                echo
                echo -en Already running
                failure
                echo
                exit 5
        fi
        if [ ! -e $DIO_DEV ];then
          failure
          exit 5
        fi
        $progexec $prog
        RETVAL=0
        success
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog || RETVAL=1
        echo
        return $RETVAL
}

stop() {
        echo -n $"Stopping $PROG: "
        killproc $prog
        echo
        [ -e /var/lock/subsys/$prog ] && rm /var/lock/subsys/$prog
        RETVAL=0
        return $RETVAL
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|reload)
        stop
        start
        ;;
  condrestart)
        if [ -f /var/lock/subsys/$prog ]; then
            stop
            start
        fi
        ;;
  status)
        status $PROG
        RETVAL=$?
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|condrestart|status}"
        exit 1
esac

exit $RETVAL