Author |
Message
|
lanny boy |
Posted: Wed Aug 24, 2005 4:08 am Post subject: Queue Manager not coming up |
|
|
Voyager
Joined: 24 Nov 2003 Posts: 79 Location: UK
|
I stopped a queue manager on a unix box containing multiple queue managers. When i try to restart i get the following error
$ ./StartQM.ksh start
AMQ8041: The queue manager cannot be restarted or deleted because processes,
that were previously connected, are still running.
Process 53538 is still running.
Process 50872 is still running.
AMQ7018: The queue manager operation cannot be completed.
AMQ8146: WebSphere MQ queue manager not available.
When i try and kill the process i get the following error... I get the same error when i try -m 53538
$ ipcrm -s 53538
ipcrm: 0515-020 semid(53538) was not found.
Any ideas?
I am on 5.3 CSD07 |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Aug 24, 2005 4:17 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You must be getting a different error from "kill" than an ipcrm error.
What does ./StartQM.ksh do, to try and stop the queue manager?
Have you considered forcing all your channels closed? What does endmqm <QMgr> show? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
lanny boy |
Posted: Wed Aug 24, 2005 4:21 am Post subject: |
|
|
Voyager
Joined: 24 Nov 2003 Posts: 79 Location: UK
|
The ./StartQM.ksh script simply contains
strmqm QMName
strmqcsv QMName
runmqlsr -t TCP -p 1414 -m QMName.
Is there a way of rnding the listed process other than using ipcrm? |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Aug 24, 2005 4:35 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
So is the QM running?
ipcrm does not end processes.
It removes shared memory segments. Doing so *might* cause programs to end, but likely by crashing.
"kill" is the usual way to end a process "abnormally" on Unix.
But what does endmqm QMName say, when you run it? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
lanny boy |
Posted: Wed Aug 24, 2005 4:43 am Post subject: |
|
|
Voyager
Joined: 24 Nov 2003 Posts: 79 Location: UK
|
The endmqm command give the following....
$ endmqm QMName
WebSphere MQ queue manager '' ending.
Not sure what this tells me....
What is the corrct syntax for using the kill command? Is it as follows?
kill 53538
I am also concerned that these processes could be used by other QM's or other apps on the same server |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Aug 24, 2005 4:46 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
"man kill".
endmqm says that the queue manager is stopping. It won't tell you when it's ended - "dspmq" will show you that.
Then you can strmqm.
If you are concerned about killing random processes - and you should be, then you should "man ps", as ps is the command that will tell you what a process is, and can tell you who's using it.
ps -ef |grep mqm will show you all processes being run by the mqm user.
You usually don't want to kill those processes. Endmqm is the right way to stop a queue manager, always. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
KeeferG |
Posted: Wed Aug 24, 2005 6:48 am Post subject: |
|
|
 Master
Joined: 15 Oct 2004 Posts: 215 Location: Basingstoke, UK
|
dspmq will show when the queue manager has ended but they may still be other processes that have connections to the queue manager that have not ended. once dspmq shows a stop queue manager you can then use the ps command jefflowrey suggests. IF your listener is still running use endmqlsr -m <QMGR_NAME> to shut that down. If any more remain you should see who is running them and tell them to end their processes.
If there are still some left after that then kill them. _________________ Keith Guttridge
-----------------
Using MQ since 1995 |
|
Back to top |
|
 |
|