This is the script used to stop MQSeries in the HACMP environment.
#!/bin/ksh TMPFILE="/tmp/tmp${$}.tmp" # # Search the /etc/inetd.conf file for MQSeries listeners # which are not commented out and correspond with the # associated Queue Manager running this script. If # found, comment out the listener(s), overwrite the # /etc/inetd.conf file with the new modified version, and # refresh the "inetd" process. # if sed -e "s/^[^#].*[$' \t']amqcrsta[$' \t'].*${1}.*/# &/g" \ < /etc/inetd.conf \ > ${TMPFILE} then print "Successfully modified /etc/inetd.conf" | tee /dev/console if cp ${TMPFILE} /etc/inetd.conf then print "Successfully replaced /etc/inetd.conf" | tee /dev/console if refresh -s inetd then print "Successfully refreshed the inetd daemon" | tee /dev/console else print "ERROR: Unable to refresh the inetd daemon" | tee /dev/console 1>&2 fi else print "ERROR: Unable to copy to /etc/inetd.conf" | tee /dev/console 1>&2 fi else print "ERROR: Unable to comment out listeners from /etc/inetd.conf" | tee /dev/console 1>&2 fi [[ -f ${TMPFILE} ]] && rm -f ${TMPFILE} # # Killing all existing instances of the listener # ps -ef -F pid,args | grep "[$' \t']amqcrsta[$' \t']*" | while read PID COMMAND do print "MQSeries: Stopping listeners: kill -9 ${PID}" | tee /dev/console kill -9 ${PID} done su mqm -c /MQHA/bin/hamqm_stop_su $*