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 ",$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