You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Jean-Baptiste Onofré (Jira)" <ji...@apache.org> on 2021/12/09 10:12:00 UTC
[jira] [Created] (AMQ-8425) Linux start script doesn't work depending of ps command version
Jean-Baptiste Onofré created AMQ-8425:
-----------------------------------------
Summary: Linux start script doesn't work depending of ps command version
Key: AMQ-8425
URL: https://issues.apache.org/jira/browse/AMQ-8425
Project: ActiveMQ
Issue Type: Bug
Components: Broker
Affects Versions: 5.16.3
Reporter: Jean-Baptiste Onofré
Assignee: Jean-Baptiste Onofré
Fix For: 5.17.0, 5.16.4
bin/activemq, line 485 reads:
local RET="`ps -o "pid,args" | grep "^\s*$activemq_pid\s.*java"`"
The problem is (from ps man page):
"By default, ps selects all processes with the same effective user
ID (euid=EUID) as the current user and associated with the same
terminal as the invoker."
Thus, the script essentially will ONLY find a running process
that has been started by the SAME LOGIN-SESSION.
I would say, that is rarely (if ever) the case in real-world scenarios.
For example, you login to your app-server and start ActiveMQ, then logout.
At a later point, you login again (new session) and try to stop ActiveMQ.
But unexpectedly, nothing happens
The fix was simple, in the line above, add the '-e' flag:
local RET="`ps -eo "pid,args" | grep "^\s*$activemq_pid\s.*java"`"
ps -e means it will list ALL processes on the host.
Then it works as expected.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)