On Mon, Sep 10, 2007 at 12:27:39PM +0000, Gerrit Pape wrote:

Hi,

> > if ./finish exists and is executable, runsv will execute it and then 
> > restart 
> > the service even if it was in the 'sv once' state.
> 
> Hmm, it doesn't fail for me

You're right. It was my fault, but the scenario is, I think, instructive. :)

I have two services that depend on each other: x depends on y. Hence, x/run
does "sv start y || exit 1", whereas y/finish stops x. So far, so good.

However, x doesn't deal well with the TERM signal and only exits cleanly on
a SIGUSR1. I now realize the clean way would have been to write an
x/control/t script; instead, I had "sv once x" (to avoid restarting x when
it exited), followed by "sv 1 x" and "sv force-stop x".

This had the effect of _starting_ x if it was down already (with sv once),
which brought y up again.

Wouldn't it be useful to have an 'sv once' style command that doesn't start
the service, merely causes it not to be restarted when it exits, provided it
is running?

Andras

-- 
                 Andras Korn <korn at chardonnay.math.bme.hu>
                 <http://chardonnay.math.bme.hu/~korn/> QOTD:
              Money isn't everything... but it's not a bad start.



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to