#!/bin/bash daemon_name=prosody pid_file=/var/run/$daemon_name/$daemon_name.pid source /etc/rc.conf source /etc/rc.d/functions get_pid() { if [ -f $pid_file ]; then /bin/kill -0 $(cat $pid_file) if [ $? == 0 ]; then cat $pid_file fi fi } case "$1" in start) stat_busy "Starting $daemon_name daemon" [ -d /var/run/$daemon_name ] || { mkdir -p /var/run/$daemon_name ; chown prosody:prosody /var/run/prosody; } PID=$(get_pid) if [ -z "$PID" ]; then [ -f $pid_file ] && rm -f $pid_file mkdir -p `dirname $pid_file` prosodyctl start 1>/dev/null 2>/dev/null if [ $? -gt 0 ]; then stat_fail exit 1 else add_daemon $daemon_name stat_done fi else stat_fail printhl "$daemon_name is already running" exit 1 fi ;; stop) stat_busy "Stopping $daemon_name daemon" PID=$(get_pid) if [ ! -z "$PID" ]; then prosodyctl stop 1>/dev/null 2>/dev/null if [ $? -gt 0 ]; then stat_fail exit 1 else rm -f $pid_file &> /dev/null rm_daemon $daemon_name stat_done fi else stat_fail printhl "$daemon_name is not running" exit 1 fi ;; restart) $0 stop $0 start ;; reload) stat_busy "Reloading $daemon_name" PID=$(get_pid) if [ ! -z "$PID" ]; then /bin/kill -HUP $PID 2> /dev/null if [ $? -gt 0 ]; then stat_fail exit 1 else stat_done fi else stat_fail printhl "$daemon_name is not running" fi ;; status) stat_busy "Checking $daemon_name status"; ck_status $daemon_name ;; *) echo "usage: $0 {start|stop|restart|reload|status}" esac exit 0