]> git.pld-linux.org Git - packages/ejabberd.git/blob - ejabberd.init
- give ejabberd time to shut down on restart and force-reload
[packages/ejabberd.git] / ejabberd.init
1 #!/bin/sh
2 #
3 # ejabberd      Fault-tolerant distributed Jabber/XMPP server
4 #
5 # chkconfig:    345 99 01
6 #
7 # description:  Fault-tolerant distributed Jabber/XMPP server
8 #
9
10
11 # Source function library
12 . /etc/rc.d/init.d/functions
13
14 # Get service config - may override defaults
15 [ -f /etc/sysconfig/ejabberd ] && . /etc/sysconfig/ejabberd
16
17 # See how we were called.
18 case "$1" in
19   start)
20         # Check if the service is already running?
21         if [ ! -f /var/lock/subsys/ejabberd ]; then
22                 export ERL_MAX_PORTS ERL_FULLSWEEP_AFTER
23                 msg_starting ejabberd
24                 daemon /usr/sbin/ejabberd
25                 RETVAL=$?
26                 if [ $RETVAL -eq 0 ]; then
27                         touch /var/lock/subsys/ejabberd
28                 fi
29         else
30                 msg_already_running ejabberd
31                 exit 1
32         fi
33         ;;
34   stop)
35         # Stop daemons.
36         if [ -f /var/lock/subsys/ejabberd ]; then
37                 msg_stopping ejabberd
38                 /usr/sbin/ejabberdctl ejabberd@`hostname` stop 2>/dev/null
39                 RETVAL=$?
40                 if [ $RETVAL -eq 0 ]; then
41                     ok
42                 else
43                     fail
44                 fi
45                 rm -f /var/lock/subsys/ejabberd
46         else
47                 msg_not_running ejabberd
48                 exit 1
49         fi      
50         ;;
51   restart)
52         $0 stop
53         sleep 2
54         $0 start
55         ;;
56   reload)
57         if [ -f /var/lock/subsys/ejabberd ]; then
58                 msg_reloading ejabberd
59                 /usr/sbin/ejabberdctl ejabberd@`hostname` restart
60                 RETVAL=$?
61         else
62                 msg_not_running ejabberd
63                 RETVAL=1
64         fi
65         ;;
66   force-reload)
67         $0 stop && sleep 2 && $0 start
68         ;;
69   status)
70         EPMDOUT=`/usr/lib/erlang/bin/epmd -names`
71         echo "$EPMDOUT" | head -n 1
72         echo "$EPMDOUT" | grep ejabberd
73         RETVAL=$?
74         if [ "$RETVAL" -ne "0" ] ; then
75                 if [ -f /var/lock/subsys/ejabberd ]; then
76                         nls "%s dead but subsys locked" "ejabberd"
77                         RETVAL=2
78                 else
79                         nls "%s is stopped" "ejabberd"
80                         RETVAL=3
81                 fi
82         fi
83         ;;
84   *)
85         msg_usage "$0 {start|stop|status|restart|reload|force-reload}"
86         exit 1
87 esac
88
89 exit $RETVAL
90
91 # This must be last line !
92 # vi:syntax=sh:tw=78:ts=8:sw=4
This page took 0.071654 seconds and 4 git commands to generate.