#!/bin/sh # # ejabberd Start/stop ejabberd server # # chkconfig: - 70 30 # description: JABBER is an instant messaging System. \ # # processname: ejabberd # config: /etc/ejabberd/ejabberd.cfg # pidfile: /var/run/ejabberd/jabberd.pid # Source function library. . /etc/rc.d/init.d/functions PATH=/sbin:/bin:/usr/sbin:/usr/bin EJABBERD=/usr/sbin/ejabberd EJABBERDCTL=/usr/sbin/ejabberdctl EJABBERD_USER=ejabberd PIDFILE=/var/run/ejabberd/jabberd.pid LOCKFILE=/var/lock/subsys/ejabberd test -f $EJABBERD || exit 0 test -f $EJABBERDCTL || exit 0 start() { start_daemon \ --lockfile "$LOCKFILE" \ --user "$EJABBERD_USER" \ --pidfile "$PIDFILE" \ -- "$EJABBERD" -heart -noshell -detached RETVAL=$? } stop() { # stop_daemon \ # --lockfile "$LOCKFILE" \ # --pidfile "$PIDFILE" \ # --expect-user "$EJABBERD_USER" \ # -- "$EJABBERD" msg_stopping "${0##*/}" RET=`su -c "$EJABBERDCTL stop" -s '/bin/sh' "$EJABBERD_USER"` if [ -z "$RET" ]; then success "${0##*/} startup" RETVAL=0 else failure "$RET" RETVAL=1 fi echo } reload() { msg_reloading "${0##*/}" RET=`su -c "$EJABBERDCTL restart" -s '/bin/sh' "$EJABBERD_USER"` if [ -z "$RET" ]; then success "${0##*/} reload" RETVAL=0 else failure "$RET" RETVAL=1 fi echo } status() { su -c "$EJABBERDCTL status" -s '/bin/sh' "$EJABBERD_USER" RETVAL=$? return $RETVAL } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; reload) reload ;; status) status ;; *) msg_usage "${0##*/} {start|stop|status|restart|reload}" RETVAL=1 ;; esac exit $RETVAL