aboutsummaryrefslogtreecommitdiff
path: root/network/policyd/rc.policyd
diff options
context:
space:
mode:
Diffstat (limited to 'network/policyd/rc.policyd')
-rw-r--r--network/policyd/rc.policyd35
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
+