]> git.pld-linux.org Git - packages/ejabberd.git/blob - ejabberd.init
- rel 3; stop_kindly is too annoying for users
[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 EJABBERD_DOC_PATH="@EJABBERD_DOC_PATH@"
18 EJABBERD_PID_PATH=/var/run/jabber/ejabberd.pid
19 export EJABBERD_DOC_PATH EJABBERD_PID_PATH
20
21 start() {
22         # Check if the service is already running?
23         if [ ! -f /var/lock/subsys/ejabberd ]; then
24                 msg_starting ejabberd
25                 daemon --user jabber /usr/sbin/ejabberdctl start
26                 RETVAL=$?
27                 if [ $RETVAL -eq 0 ]; then
28                         msg_starting "ejabberd start confirmation"
29                         daemon --user jabber /usr/sbin/ejabberdctl started
30                         RETVAL=$?
31                 fi
32                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ejabberd
33         else
34                 msg_already_running ejabberd
35         fi
36 }
37
38 stop() {
39         # Stop daemons.
40         if [ -f /var/lock/subsys/ejabberd ]; then
41                 msg_stopping ejabberd ; busy
42                 out=$(/bin/su - jabber -s /bin/sh -c "/usr/sbin/ejabberdctl stop" 2>&1)
43                 RETVAL=$?
44                 if [ $RETVAL -eq 0 ]; then
45                         out2=$(/bin/su - jabber -s /bin/sh -c "/usr/sbin/ejabberdctl stopped" 2>&1)
46                         RETVAL=$?
47                 fi
48                 if [ $RETVAL -eq 0 ]; then
49                         ok
50                 else
51                         fail
52                         [ -n "$out" ] && echo $out
53                         [ -n "$out2" ] && echo $out2
54                 fi
55                 rm -f /var/lock/subsys/ejabberd
56         else
57                 msg_not_running ejabberd
58         fi
59 }
60
61 # See how we were called.
62 case "$1" in
63   start)
64         start
65         ;;
66   stop)
67         stop
68         ;;
69   restart)
70         stop
71         start
72         ;;
73   reload|force-reload)
74         if [ -f /var/lock/subsys/ejabberd ]; then
75                 stop
76                 start
77                 RETVAL=$?
78         else
79                 msg_not_running ejabberd
80                 RETVAL=7
81         fi
82         ;;
83   status)
84         status --pidfile $EJABBERD_PID_PATH ejabberd
85         RETVAL=$?
86         ;;
87   *)
88         msg_usage "$0 {start|stop|status|restart|reload|force-reload}"
89         exit 3
90 esac
91
92 exit $RETVAL
This page took 0.082922 seconds and 3 git commands to generate.