首页 > 技术文章 > MQ中间件的启动与关闭

dahaoran 2020-04-23 14:58 原文

MQ中间件的启动与关闭
一般来讲,我们使用mqm用户进行启停,如需root用户启停,那么需要root用户包含在mqm用户组中。
1、MQ的启动
#su - mqm
$ strmqm QMgrName
如果启动默认队列管理器,strmqm后可以忽略队列管理器名称。
在意外情况停止队列管理器后,启动可能会失败,此时可以检查上次停止后是否有IPC资源未释放,若有请予以删除,删除方法参考下面的内容:“清理所有残留在系统内部的信号灯和共享内存”部分。
2、MQ的关闭
一般情况下,我们使用如下命令来停止mq
$ endmqm  -i QMgrName
如果停止或 关闭失败,可以使用如下步骤:
步骤1):
$ endmqm  -p QMgrName
如果停不掉,继续步骤2。
步骤2):
杀死有关进程,清理残留在系统内部的信号灯和共享内存
A、找到队列管理器程序进程(此处QmgrName是队列管理器名称,请根据你的需要修改)
# ps -ef|grep QMgrName
使用kill命令终止中找到的进程,无法停止的进程可以用kill -9来终止,终止进程的顺序如下(不存在的进程可以忽略):
kill amqpcsea    命令服务器
kill amqhasmx    记录器
kill amqharmx     日志格式化器(仅LINEAR日志)
kill amqzllp0      检查点处理器
kill amqzlaa0     队列管理器代理
kill amqzxma0     处理控制器
kill amqrrmfa       库进程(用于群集)
B、清理所有残留在系统内部的信号灯和共享内存(其属主和组均为mqm)
 
一条命令清除的方法:
# ipcs|grep mqm|awk '{printf "ipcrm -%s %s \n",$1,$2}'|sh
 
两条命令清除的方法:
# ipcs -s| grep mqm | awk '{print $2}'|xargs -i ipcrm -s {}
# ipcs -m| grep mqm | awk '{print $2}'|xargs -i ipcrm -m {}
 
N条命令清除的方法:
 
# ipcs -s| grpe mqm
# ipcrm -s 找到的ID
# ipcs -m| grpe mqm
# ipcrm -m 找到的ID

  

推荐阅读