summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/runscript.sh')
-rwxr-xr-xsbin/runscript.sh12
1 files changed, 9 insertions, 3 deletions
diff --git a/sbin/runscript.sh b/sbin/runscript.sh
index aec6799..6e7404c 100755
--- a/sbin/runscript.sh
+++ b/sbin/runscript.sh
@@ -451,8 +451,8 @@ if [[ -z ${opts} ]] ; then
fi
svc_homegrown() {
- local arg=$1
- local x=
+ local x arg=$1
+ shift
# Walk through the list of available options, looking for the
# requested one.
@@ -466,9 +466,11 @@ svc_homegrown() {
fi
fi
done
+ x=""
# If we're here, then the function wasn't in $opts.
- eerror "ERROR: wrong args. ( "${arg}" / $* )"
+ [[ -n $* ]] && x="/ $* "
+ eerror "ERROR: wrong args ( "${arg}" ${x})"
# Do not quote this either ...
usage ${opts}
exit 1
@@ -517,6 +519,10 @@ for arg in $* ; do
restart)
svcrestart="yes"
+ # We don't kill child processes if we're restarting
+ # This is especically important for sshd ....
+ RC_KILL_CHILDREN="no"
+
# Create a snapshot of started services
rm -rf "${svcdir}/snapshot/$$"
mkdir -p "${svcdir}/snapshot/$$"