[2/2] initscripts: Implement storing PIDs in loadproc
Commit Message
Some programs do not write their own PID files any more, but since our
initscripts heavily rely on those, this extension allows to store it
easily.
Signed-off-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
---
src/initscripts/system/functions | 8 ++++++++
1 file changed, 8 insertions(+)
@@ -446,6 +446,7 @@ loadproc()
local pidfile=""
local forcestart=""
local nicelevel=""
+ local pid
# This will ensure compatibility with previous LFS Bootscripts
if [ -n "${PIDFILE}" ]; then
@@ -521,12 +522,19 @@ loadproc()
(
${cmd} &>/dev/null
) &
+ pid="$!"
evaluate_retval
else
${cmd}
+ pid="$!"
evaluate_retval # This is "Probably" not LSB compliant, but required to be compatible with older bootscripts
fi
+ # Write the pidfile
+ if [ -n "${pid}" -a -n "${pidfile}" ]; then
+ echo "${pid}" > "${pidfile}"
+ fi
+
return 0
}