strmqm is the command that turns an IBM MQ queue manager from offline to online. Every morning batch, every patch window, and every disaster recovery drill eventually runs strmqm QM_PROD—or its z/OS automation equivalent—before a single payment message moves. The command looks simple; the work underneath is not. strmqm validates data paths, opens logs, replays recovery if the previous stop was unclean, loads thousands of object definitions, and starts agents that accept MQSC and MQI. Beginners assume strmqm failed if applications cannot connect in five seconds; operators know a post-crash start may replay gigabytes of log while monitoring shows Running at ninety percent internal recovery. This utility-focused tutorial documents strmqm syntax and flags, relationship to dspmq and endmqm, automatic startup at OS boot, multi-instance standby starts, post-start checklist for listeners and channels, common failure modes, and coordination with application startup order—complementing the queue manager startup conceptual page with command-line depth.
strmqm queue_manager_name starts the named queue manager if it is not already running. The name must match crtmqm creation and dspmq output exactly—case sensitivity applies on Unix. Running strmqm without authority fails with platform permission errors. The mqm group on Linux typically has rights; production service accounts may be restricted deliberately.
12345678dspmq # Shows QM1 not running before start strmqm QM1 dspmq # QMNAME(QM1) STATUS(Running) — verify before apps connect runmqsc QM1 <
| Command | Role | When |
|---|---|---|
| crtmqm | Create QM definition and directories | Initial install |
| strmqm | Start QM process | After stop or boot |
| dspmq | Show running or ended | Before/after start |
| endmqm | Stop QM process | Maintenance |
| dltmqm | Delete QM | Decommission only |
Phase one opens the queue manager directory and reads qm.ini parameters such as log paths and default queue manager services. Phase two performs media and log recovery—reading the log to redo committed persistent operations and undo uncommitted work. Phase three loads the object repository into memory structures the command server and MQI use. Phase four starts subagents: command server, channel initiators, trigger monitors as configured. Applications may receive MQRC 2009 queue manager quiescing or unavailable until the final ready state. DISPLAY QMSTATUS on a connected runmqsc session shows STARTED and connection counts when healthy.
Consult IBM documentation for flags on your release. Multi-instance queue managers use strmqm with options to start active or standby roles; wrong role start can split brain if fencing is misconfigured. Native HA and RDQM products wrap strmqm in their own CLIs—follow product runbooks instead of only single-node habits. Containers often entrypoint strmqm inside the image; Kubernetes readiness probes should wait for MQ readiness, not only container running.
Register queue managers as OS services so strmqm runs at boot. On Linux systemd unit files reference strmqm; on Windows MQ services start configured queue managers. Automatic start after unclean host reboot triggers log replay without an operator present—monitor duration and alert if exceeds SLO. Pair with clean endmqm before host patching to shorten replay.
z/OS operators start queue managers through started tasks and CSQ commands rather than typing strmqm at an Unix shell—conceptually identical lifecycle. Coupling facility and queue sharing group members have additional verification after IPL. Cross-reference mq subsystem setup and CSQ commands tutorials when working on mainframe.
endmqm turned the engine off. strmqm turns it on and runs the pre-flight checklist—including fixing anything that was mid-flight when the engine last stopped abruptly.
strmqm is flipping the big switch that turns the post office building back on so mail can move again.
Time strmqm after clean endmqm versus after kill -9; compare duration and AMQ messages.
Write a post-start script: dspmq, DISPLAY QMSTATUS, START LISTENER.
Document which applications must wait for strmqm before their own start command.
1. strmqm starts:
2. After unclean shutdown strmqm may:
3. Verify running with:
4. Listeners after strmqm: