slackbuilds/network/ejabberd/rc.ejabberd

51 lines
850 B
Bash

#!/bin/bash
# Start/stop/restart the ejabberd xmpp server
bin=/usr/sbin/ejabberdctl
start_ejabberd() {
echo "Starting ejabberd... "
$bin start
$bin started
}
stop_ejabberd() {
echo "Stoppping ejabberd... "
$bin stop
$bin stopped
}
restart_ejabberd() {
stop_ejabberd
start_ejabberd
}
status_ejabberd() {
$bin status
}
force-stop_ejabberd() {
echo "Killing ejabberd... "
port=$(/usr/bin/epmd -names | awk -v name=ejabberd '$2==name {print $5}')
if [ -z "$port" ]; then
echo "ejabberd not found"
else
kill $(lsof -i TCP:$port -s TCP:LISTEN | tail -n +2 | awk '{print $2}')
fi
}
case "$1" in
start)
start_ejabberd ;;
stop)
stop_ejabberd ;;
restart|reload)
restart_ejabberd ;;
status)
status_ejabberd ;;
force-stop)
force-stop_ejabberd ;;
*)
echo "usage $0 start|stop|restart|status|force-stop"
esac