[systemd-devel] PIDFile creation logic

Kenneth Porter shiva at sewingwitch.com
Mon Oct 18 19:43:15 UTC 2021


I just installed the new-to-EPEL ndppd service and am seeing this in my log:

Oct 17 21:10:08 saruman systemd: Can't open PID file 
/var/run/ndppd/ndppd.pid (yet?) after start: No such file or directory

Examining the source, I see that the pidfile is created by the child 
process, not the parent. I'm guessing that systemd is expecting the pidfile 
to exist when the parent exits? (I want to file the issue on the upstream 
program and want to make sure I understand how this should work.)

Source in question. Note how daemonize() forks and exits and main() invokes 
daemonize and then creates the pidfile. I'm thinking that daemonize() 
should create the pidfile before it invokes exit().

<https://github.com/DanielAdolfsson/ndppd/blob/master/src/ndppd.cc>



More information about the systemd-devel mailing list