Hello Ludovic!

Ludovic Courtès <l...@gnu.org> writes:

> Hi!
>
> Maxim Cournoyer <maxim.courno...@gmail.com> skribis:
>
>> I think I've gathered a clue!
>
> [...]
>
>> scheme@(shepherd service)> (make-forkexec-constructor
>>   (list 
>> "/gnu/store/qyz1bncxlkxv44c03sva2akfsyqzkzh5-nfs-utils-2.4.2/sbin/rpc.mountd"
>>  "--debug" "all"))
>> $5 = #<procedure 7f67f82862a0 at shepherd/service.scm:930:8 args>
>> scheme@(shepherd service)> ($5)
>> $6 = 816
>> scheme@(shepherd service)> (system "pidof rpc.mountd")
>> warning: 'waitpid' -1 failed unexpectedly: No child processes
>> 817
>
> So that means that rpc.mountd “daemonizes”.  Thus, shepherd shouldn’t
> look at the PID of the process it spawns, but rather at what
> rpc.mountd’s PID file contains (I assume it creates a PID file,
> right?).  IOW, we need to pass #:pid-file to ‘make-forkexec-constructor’.

That process doesn't create a PID file, so that doesn't work.

> Does that work for you?
>
> Thanks for debugging!

Thanks for assisting, and for adding a note to the Shepherd manual! :-)

I'm closing this issue.

Maxim



Reply via email to