#!/bin/bash # # /etc/rc.d/mbsebbs for Arch Linux . /etc/rc.conf . /etc/rc.d/functions MBSE_ROOT=$(cat /etc/passwd | grep ^mbse: | awk -F ':' '{ print $6}') export MBSE_ROOT case "$1" in start) stat_busy "Starting MBSE BBS" rm -f ${MBSE_ROOT}/var/run/* rm -f ${MBSE_ROOT}/var/sema/* rm -f ${MBSE_ROOT}/var/*.LCK rm -f ${MBSE_ROOT}/tmp/mb* su mbse -c '${MBSE_ROOT}/bin/mbtask' >/dev/null add_daemon mbsebbs sleep 2 if [ -f ${MBSE_ROOT}/etc/config.data ]; then su mbse -c '${MBSE_ROOT}/bin/mbstat open -quiet' stat_done else stat_fail exit 1 fi ;; stop) stat_busy "Stopping MBSE BBS" if [ -f ${MBSE_ROOT}/var/run/mbtask ]; then stat_append "logoff users" su mbse -c '${MBSE_ROOT}/bin/mbstat close wait -quiet' >/dev/null stat_append " done, stopping mbtask" kill -15 `cat ${MBSE_ROOT}/var/run/mbtask` i=10; doit=1; while let 'i > 0' && let 'doit != 0' do if [ -f ${MBSE_ROOT}/var/run/mbtask ]; then stat_append "." sleep 1 let i=i-1 else doit=0 fi done if [ -f ${MBSE_ROOT}/var/run/mbtask ]; then kill -9 $(cat ${MBSE_ROOT}/var/run/mbtask) fi fi rm_daemon mbsebbs stat_done ;; restart) $0 stop sleep 1 $0 start ;; *) echo "usage: $0 {start|stop|restart}" ;; esac exit 0