The earlier failure was on my side: the message I saved from Gmail had CRLF line endings. After stripping them, your diff applied cleanly on top of rc.subr 1.168 fetched from anoncvs.
Tested on 7.9-stable/amd64 with rc.subr 1.168 + your diff: $ for i in 1 2 3 4 5; do doas rcctl restart oficina; done oficina(ok) oficina(ok) oficina(ok) oficina(ok) oficina(ok) oficina(ok) oficina(ok) oficina(ok) oficina(ok) oficina(ok) $ doas rcctl check oficina oficina(ok) $ for i in 1 2 3; do doas rcctl restart sshguard; done sshguard(ok) sshguard(ok) sshguard(ok) sshguard(ok) sshguard(ok) sshguard(ok) $ doas rcctl check sshguard sshguard(ok) $ sleep 2; pgrep -lf '/etc/rc.d/' || echo "no rc.d hang" no rc.d hang No "kill: ...: no such process" messages, and no leftover rc.d processes afterwards. I haven't rebooted the machine with it yet; I'll report back if the message shows up again at boot. As with the original report, the troubleshooting and testing were done with the help of Claude (Anthropic's AI assistant). Apologies for my lack of experience with this process, and for the initial "hide the problem" fix. I hope the report was still useful. Thanks to both of you for the quick replies and the explanation. -- António Silva
