[Bug 924301] Re: normal exit TERM is not working every time
Steve Langasek
steve.langasek at canonical.com
Mon Feb 6 05:52:30 UTC 2012
On Sat, Feb 04, 2012 at 11:16:25AM -0000, Sworddragon wrote:
> >If a job marked 'normal TERM' is respawning when you send it kill
> > -TERM, then the process is probably *not* dying as a result of the
> > signal - it probably instead has a signal handler and is exiting with
> > some different exit status.
> Shouldn't upstart ignore such a behaviour of a signal handler? The
> application got still a SIGTERM independent of what it returns.
If this is actually the issue, upstart has no means of properly ignoring
such behavior. There is a semantically significant difference in Unix
between "died with SIGTERM" and "received SIGTERM, then exited"; and if this
is actually what's happening, the exit code in the shell *won't* be 143.
> >Try running the command from the command line, killing it with SIGTERM,
> > and checking what you actually get as an exit status.
> "sleep 60" and "java -jar /usr/local/bin/minecraft_server.jar nogui" are
> returning 143 if they close because of a SIGTERM.
Ok, my analysis was wrong then. I'm not sure why upstart's behavior is
different for java - it certainly shouldn't be based on the above.
--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
slangasek at ubuntu.com vorlon at debian.org
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to upstart in Ubuntu.
https://bugs.launchpad.net/bugs/924301
Title:
normal exit TERM is not working every time
Status in “upstart” package in Ubuntu:
New
Bug description:
I'm using Ubuntu 12.04 dev with upstart 1.4-0ubuntu4. I have written a
script which uses the respawn stanza and TERM as a normal exit. But on
some commands the process will respawn and on other commands not (like
expected) if I use a SIGTERM on the process. Here are 2 examples:
normal exit 0 KILL TERM
respawn
respawn limit 2 60
exec sleep 60
A SIGTERM on the "sleep 60" process will not cause it to respawn.
normal exit 0 KILL TERM
respawn
respawn limit 2 60
exec java -jar /usr/local/bin/minecraft_server.jar nogui
A SIGTERM on the java process will cause it to respawn. I don't know
why it is respawning. It is the only process that is created and a
SIGTERM shouldn't cause it to respawn.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/924301/+subscriptions
More information about the foundations-bugs
mailing list