aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--man/openrc-run.84
-rw-r--r--sh/start-stop-daemon.sh5
2 files changed, 8 insertions, 1 deletions
diff --git a/man/openrc-run.8 b/man/openrc-run.8
index 6e3b9dc7..5ec81567 100644
--- a/man/openrc-run.8
+++ b/man/openrc-run.8
@@ -143,6 +143,10 @@ Set this to "true", "yes" or "1" (case-insensitive) if you want
.Xr start-stop-daemon 8
to force the daemon into the background. This forces the
"--make-pidfile" and "--pidfile" options, so the pidfile variable must be set.
+.It Ar command_progress
+Set this to "true", "yes" or "1" (case-insensitive) if you want
+.Xr start-stop-daemon 8
+to display a progress meter when waiting for a daemon to stop.
.It Ar command_user
If the daemon does not support changing to a different user id, you can
use this to change the user id before
diff --git a/sh/start-stop-daemon.sh b/sh/start-stop-daemon.sh
index 6b679ac2..6f396b3b 100644
--- a/sh/start-stop-daemon.sh
+++ b/sh/start-stop-daemon.sh
@@ -63,6 +63,7 @@ ssd_start()
ssd_stop()
{
+ local _progress=
local startcommand="$(service_get_value "command")"
local startchroot="$(service_get_value "chroot")"
local startpidfile="$(service_get_value "pidfile")"
@@ -72,13 +73,15 @@ ssd_stop()
pidfile="${startpidfile:-$pidfile}"
procname="${startprocname:-$procname}"
[ -n "$command" -o -n "$procname" -o -n "$pidfile" ] || return 0
+ yesno "${command_progress}" && _progress=--progress
ebegin "Stopping ${name:-$RC_SVCNAME}"
start-stop-daemon --stop \
${retry:+--retry} $retry \
${command:+--exec} $command \
${procname:+--name} $procname \
${pidfile:+--pidfile} $chroot$pidfile \
- ${stopsig:+--signal} $stopsig
+ ${stopsig:+--signal} $stopsig \
+ ${_progress}
eend $? "Failed to stop ${name:-$RC_SVCNAME}"
}