#!/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