problem with start-stop-daemon and --exec
Ed W
lists at wildgooses.com
Mon Mar 5 01:06:54 UTC 2012
On 04/03/2012 16:30, ralda at gmx.de wrote:
> Hallo Ed!
>
>>> start-stop-daemon --stop --pidfile /var/run/nginx.pid
>> Yes this works. Up until recently that's exactly what gentoo used,
>> but they have now started to switch their init scripts to be more
>> specific with --exec
>>
>> I guess this also defends against services which die in the
>> background and something else ends up accidently running on the same
>> pid
> My start-stop-daemon from Gentoo killed processes if they EITHER
> matched the pid from file OR the given exec name. As this killed
> sometimes the wrong process I switched to Busybox start-stop-daemon
> witch killed only the process when both conditions met (pid AND name).
> But that test was back in last year spring. May be things changed since
> this.
Testing with openrc-0.9.8.2 I see that it's an "AND" and further that
either mangling my pid file or selecting only --exec fails to kill my
process
At least in this case it seems like if there is a pidfile then the
--exec is loosened to being non anchored in the cmdline. For example
this worked fine:
start-stop-daemon --stop --exec /sbin/nginx --pidfile /var/run/nginx.pid
However, this didn't (which I'm not sure I like...):
start-stop-daemon --stop --exec /usr/sbin/nginx
> IMHO is the Busybox choice better to kill only processes if all
> specified conditions match. I dislike the other approach ... but it is
> not my decision if Busybox or upstream behavior shall be changed.
I think the only change is that my s-s-d takes a non anchored --exec
parameter, ie it can occur anywhere in the cmdline. This seems
reasonable to me and useful in the case of daemons which augment their
cmdline to show status, etc
Any chance of such a change to busybox?
Thanks
Ed W
>
> --
> Harald
More information about the busybox
mailing list