diff options
Diffstat (limited to 'net/jabber/files/jabberd.sh')
-rw-r--r-- | net/jabber/files/jabberd.sh | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/net/jabber/files/jabberd.sh b/net/jabber/files/jabberd.sh index 2ad8b7ea99c7..109855681eff 100644 --- a/net/jabber/files/jabberd.sh +++ b/net/jabber/files/jabberd.sh @@ -19,8 +19,19 @@ cd ${RUNDIR} || exit case ${1:-start} in start) - su -f -m ${USER} -c "jabberd -B -h ${HOSTNAME} -c ${PREFIX}/etc/jabber.xml" ;; + if [ -f jabber.pid ]; then + pid=`cat jabber.pid` + if [ ! -z "$pid" ] && kill -0 -- "$pid"; then + echo "A pidfile already exists at the specified location." + echo "Check to ensure another copy of the server is not running, or remove the existing file." + exit 1 + fi + rm -f ${RUNDIR}/jabber.pid; + fi + + su -f -m ${USER} -c "jabberd -B -h ${HOSTNAME} -c ${PREFIX}/etc/jabber.xml" + ;; stop) killall -SIGKILL -u ${USER} jabberd; rm -f ${RUNDIR}/jabber.pid; |