[PATCH] Make start-stop-daemon handle sending signals better

Natanael Copa natanael.copa at gmail.com
Wed Aug 30 22:43:07 UTC 2006


On Wed, 2006-08-30 at 17:42 -0400, Rob Landley wrote:
> On Wednesday 30 August 2006 4:25 pm, Natanael Copa wrote:
> > > So why doesn't start-stop-daemon --name work then?  (The name it uses
> > > dereferences the symlink?)
> >
> > AFAIK --name works fine with busybox.
> >
> > The more common used --exec does not.
> 
> So telling people to use "--name" instead of exec isn't a solution?

It is a possible solution.

Somebody complained and even produced a bug report, I just propsed a
solution to the bug report.

> (I haven't got anything against changing start-stop-daemon, I just don't use
> it.  And unlike most applets where I'm not familiar with what it does, I'm
> not particularly motivated to learn this one if it's debian-only, so I'm
> about to check in a fix blind...)

The reason I don't like the solution:

nat at studio:~$ grep -- --exec /etc/init.d/* | wc -l
60
nat at studio:~$ grep -- --name /etc/init.d/* | wc -l
17

Thats an ubuntu box. Something similar would be found in gentoo and
debian.

So the people who actually use ssd seems to prefer to use --exec.

its kind of

Q: "killall don't work with busybox applets"
A: "use kill <pid> then"

> > > > --exec require you have a full pathname to executable and if you use
> > > > --exec /bin/busybox <anything> you are telling ssd to check
> > > > if /bin/busybox is alredy running before starting another.
> > >
> > > Sounding a bit like pilot error.
> > >
> > > Ok, so confirming: the fix checks to make sure that there isn't a version
> > > running that was called under the same name as the one we're about to
> launch?
> >
> > Yes exactly.
> >
> > > Does the command line's argv[0] include the path it was called at?
> >
> > english is not my native language and im not 100% what you mean here. Do
> > you mean if current working dir is tored too? its not.
> 
> Ok:
> 
> What's the difference between --name and --exec?  If I tell it:
> 
> start-stop-daemon /usr/bin/walrus
> 
> And walrus is a symlink to busybox, what case works and what case doesn't?

start-stop-daemon --start --name walrus (don't work - arg parsing wont
accept)
start-stop-daemon --start --name --exec /usr/bin/walrus (works)
start-stop-daemon --start --exec /usr/bin/walrus (don't work without
fix)

using --name won't allow running any duplicates of the process name
using --exec will allow running running duplicates of the process name
if the path is different. (you would be able to run /usr/bin/walrus
and /usr/local/bin/walrus and /usr/libexec/walrus in parallell)






More information about the busybox mailing list