diff options
Diffstat (limited to 'network/policyd/rc.policyd')
-rw-r--r-- | network/policyd/rc.policyd | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/network/policyd/rc.policyd b/network/policyd/rc.policyd index a6400e71c9996..06f87a21e8d7b 100644 --- a/network/policyd/rc.policyd +++ b/network/policyd/rc.policyd @@ -2,24 +2,40 @@ # # /etc/rc.d/rc.policyd # -# start/stop/restart policy daemon - +# start/stop/restart Policy daemon for Postfix +# # The PIDFILE is setup in the config file. Default is /var/run/policyd.pid -# if you change the location in the config file then it **needs** to be changed here too. +# If you change the location in the config file then it **needs** to be +# changed here too. + PIDFILE="/var/run/policyd.pid" CONFIG="/etc/policyd.conf" policyd_start() { if [ -x /etc/rc.d/rc.policyd ]; then - echo "Starting Policy daemon" - /usr/bin/policyd -c $CONFIG + if [ -f $PIDFILE ]; then + echo "Policy daemon seems to be running with PID: $(cat $PIDFILE)" + else + if [ -r "$CONFIG" ]; then + echo "Starting Policy daemon" + /usr/bin/policyd -c $CONFIG + else + echo "$CONFIG is missing or unreadable. Exiting..." + exit 1 + fi + fi fi } policyd_stop() { - echo "Stopping Policy daemon" - /bin/kill $(cat $PIDFILE) - rm -f $PIDFILE + if [ -f $PIDFILE ]; then + echo "Stopping Policy daemon" + /bin/kill $(cat $PIDFILE) + rm -f $PIDFILE + else + echo "Policy daemon is not running..." + exit 1 + fi } policyd_restart() { @@ -38,8 +54,9 @@ case "$1" in 'restart') policyd_restart ;; -'*') +*) echo "USAGE: $0 start|stop|restart" exit 1 ;; esac + |