I have a program, init-jm, that forks and executes /usr/lib/systemd/systemd in 
the parent (using execl() ) while the child collects some stats in a loop.

The child sets its argv[0][0] to ‘@’.

init-jm is invoked using the “init” kernel parameter on a switch-root system 
(it’s Fedora 41).

Can someone explain why systemd (PID 1) sends SIGHUP to the child?

This happens just before the statement log_execution_mode(&first_boot) is 
executed inside main().

Sending SIGHUP to the child seems to be particular to the re-execution of the 
systemd binary during switch-root because it is not sent when init-jm is 
invoked using “rdinit”.

Thanks,

-James M

Reply via email to