]> git.pld-linux.org Git - packages/opensmtpd.git/blob - opensmtpd.init
use pidfile for status
[packages/opensmtpd.git] / opensmtpd.init
1 #!/bin/sh
2 #
3 # opensmtpd  This shell script takes care of starting and stopping
4 #            OpenSMTPD on RedHat or other chkconfig-based system.
5 #
6 # chkconfig: 2345 80 30
7 # processname: smtpd
8 # config: /etc/mail/smtpd.conf
9 # pidfile: /var/run/smtpd.pid
10 # description: OpenSMTPD is a Mail Transport Agent, which is the program \
11 #              that moves mail from one machine to another.
12
13 # Source function library
14 . /etc/rc.d/init.d/functions
15
16 # Get network config
17 . /etc/sysconfig/network
18
19 # Check that networking is up.
20 if is_yes "${NETWORKING}"; then
21         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
22                 msg_network_down "OpenSMTPd"
23                 exit 1
24         fi
25 else
26         exit 0
27 fi
28
29 # Get service config - may override defaults
30 [ -f /etc/sysconfig/smtpd ] && . /etc/sysconfig/smtpd
31
32 pidfile="/var/run/smtpd.pid"
33
34 start() {
35         # Check if the service is already running?
36         if [ -f /var/lock/subsys/opensmtpd ]; then
37                 msg_already_running "OpenSMTPd"
38                 return
39         fi
40
41         msg_starting "OpenSMTPd"
42         daemon /usr/sbin/smtpd
43         RETVAL=$?
44         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/opensmtpd
45 }
46
47 stop() {
48         if [ ! -f /var/lock/subsys/opensmtpd ]; then
49                 msg_not_running "OpenSMTPd"
50                 return
51         fi
52
53         # Stop daemons.
54         msg_stopping "OpenSMTPd"
55         killproc --pidfile $pidfile smtpd -TERM
56         rm -f /var/lock/subsys/opensmtpd
57 }
58
59 condrestart() {
60         if [ ! -f /var/lock/subsys/opensmtpd ]; then
61                 msg_not_running "OpenSMTPd"
62                 RETVAL=$1
63                 return
64         fi
65
66         stop
67         start
68 }
69
70 RETVAL=0
71 # See how we were called.
72 case "$1" in
73   start)
74         start
75         ;;
76   stop)
77         stop
78         ;;
79   restart)
80         stop
81         start
82         ;;
83   try-restart)
84         condrestart 0
85         ;;
86   force-reload)
87         condrestart 7
88         ;;
89   status)
90         status --pidfile $pidfile smtpd
91         RETVAL=$?
92         ;;
93   *)
94         msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
95         exit 3
96 esac
97
98 exit $RETVAL
This page took 0.063483 seconds and 3 git commands to generate.