[
https://issues.apache.org/jira/browse/AMQ-5733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14504480#comment-14504480
]
James Green commented on AMQ-5733:
----------------------------------
Briefly reading
http://stackoverflow.com/questions/191215/how-to-stop-java-process-gracefully
and https://major.io/2010/03/18/sigterm-vs-sigkill/ perhaps it should follow
the follow the following strategy:
1. Attempt to send shutdown via JMX (a lot of people do not enable JMX or have
it misconfigured)
2. Attempt to kill <PID> allowing a JVM shutdown hook to gracefully bring down
the process
3. Terminate forcefully with kill -9 <PID>
In each case poll for the presence of the PID in the process list, and if it
goes ensure the PID file is removed.
> kill -9 always results in failure signal
> ----------------------------------------
>
> Key: AMQ-5733
> URL: https://issues.apache.org/jira/browse/AMQ-5733
> Project: ActiveMQ
> Issue Type: Bug
> Components: Distribution
> Affects Versions: 5.11.1
> Reporter: James Green
>
> Using https://github.com/rgevaert/activemq2deb I am trying to distribute
> upgrades to our fleet. This results in failure each time.
> Looking into the matter the activemq script tries to stop the broker via JMX.
> This is not configured, so fails.
> It falls back to issuing "kill -9 <PID>" then immediately exits with code 1.
> This code 1 causes the packaging script to bail and thus we end up with a
> mess.
> A possible solution is to return the "kill" command's own result. This
> doesn't necessarily reflect whether "kill" succeeded in terminating the PID
> however.
> A second possible solution is to detect the presence of 'start-stop-daemon'
> and use this in preference. Narrows down the cases in which it does not work
> at least.
> I am of the opinion that a script aiming of cross-platform compatibility is
> probably never going to work completely so detecting and making use of
> per-system tooling is probably best long term, meantime would returning
> "kill's" exit code help?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)