aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rc.d/init.d/functions10
1 files changed, 8 insertions, 2 deletions
diff --git a/rc.d/init.d/functions b/rc.d/init.d/functions
index 2000d4af..d36310b4 100644
--- a/rc.d/init.d/functions
+++ b/rc.d/init.d/functions
@@ -153,6 +153,7 @@ __pids_var_run() {
if [ -f "$pid_file" ] ; then
local line p
+ [ ! -r "$pid_file" ] && return 4 # "user had insufficient privilege"
while : ; do
read line
[ -z "$line" ] && break
@@ -294,8 +295,13 @@ killproc() {
# Find pid.
__pids_var_run "$1" "$pid_file"
- if [ -z "$pid_file" -a -z "$pid" ]; then
- pid="$(__pids_pidof "$1")"
+ RC=$?
+ if [ -z "$pid" ]; then
+ if [ -z "$pid_file" ]; then
+ pid="$(__pids_pidof "$1")"
+ else
+ [ "$RC" = "4" ] && { failure $"$base shutdown" ; return $RC ;}
+ fi
fi
# Kill it.