runbg: new helper function inspired by the Infix project

The runbg() function is a delayed execvp() that has double-forked to the
background (to not create zombies).  It is useful for running commands
in the background for APIs that need to return a reply, e.g. a NETCONF
RPC to reboot the system.

Compared to the original in Infix, this version double forks to reparent
itself to PID 1 (init), closes all open files, including stdio.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg committed 2023-09-17 11:00:09 +02:00
1 parent 921afdecb4
commit 92bb0ca399
7 files changed
+135 -3

No files matched your search

+1
View File
@@ -30,6 +30,7 @@ TESTS += pidfile
TESTS += printhdr
TESTS += progress
TESTS += rsync
TESTS += runbg
TESTS += str
TESTS += strmatch
TESTS += systemf