From: Michael Tremer Date: Tue, 27 Jul 2021 08:59:00 +0000 (+0000) Subject: initscripts: Add switch to start processes in background X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0c7ba6523fdcf495d90b7d3f15065f712ec36e1c;p=people%2Fms%2Fipfire-2.x.git initscripts: Add switch to start processes in background Since systemd, many programs no longer behave like a well-behaved daemon. To avoid any extra solutions, this patch adds a -b switch which will start a program in the background and throw away any output. The behaviour remains unchanged for any other programs. Signed-off-by: Michael Tremer Signed-off-by: Arne Fitzenreiter --- diff --git a/src/initscripts/system/functions b/src/initscripts/system/functions index d610a524d1..e44a2b4a13 100644 --- a/src/initscripts/system/functions +++ b/src/initscripts/system/functions @@ -436,6 +436,7 @@ getpids() #******************************************************************************* loadproc() { + local background="" local pidfile="" local forcestart="" local nicelevel="" @@ -448,6 +449,10 @@ loadproc() while true do case "${1}" in + -b) + background="1" + shift 1 + ;; -f) forcestart="1" shift 1 @@ -506,8 +511,16 @@ loadproc() cmd="nice -n "${nicelevel}" ${cmd}" fi - ${cmd} - evaluate_retval # This is "Probably" not LSB compliant, but required to be compatible with older bootscripts + if [ -n "${background}" ]; then + ( + ${cmd} &>/dev/null + ) & + evaluate_retval + else + ${cmd} + evaluate_retval # This is "Probably" not LSB compliant, but required to be compatible with older bootscripts + fi + return 0 }