Scripts2026年5月26日·1 分钟阅读

mprocs — Run Multiple Processes in a Split Terminal

mprocs is a TUI tool for running and managing multiple long-running processes side by side in a single terminal, with log scrolling and process control.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
mprocs Overview
直接安装命令
npx -y tokrepo@latest install bbbe9ecc-5920-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run 确认安装计划,再运行此命令。

Introduction

mprocs runs multiple commands in parallel and displays their output in a terminal UI with a selectable process list. It is designed for development workflows where you need to watch several long-running services simultaneously — a frontend dev server, a backend API, a database, and a log tailer — without juggling multiple terminal tabs.

What mprocs Does

  • Launches multiple processes from the command line or a YAML config file
  • Displays a sidebar with process names, statuses, and exit codes
  • Streams each process's stdout/stderr in a scrollable output pane
  • Allows stopping, restarting, or sending signals to individual processes
  • Supports keyboard shortcuts for switching between process views

Architecture Overview

mprocs is a Rust application that spawns child processes via the OS process API and captures their stdout and stderr streams. A TUI layer built on crossterm renders a split-pane layout: a process list on the left and the selected process's output on the right. Each process's output is stored in a scrollback buffer. User input is routed to either the TUI (navigation, restart) or the selected process's stdin.

Self-Hosting & Configuration

  • Install via Homebrew, Cargo, Nix, or download a prebuilt binary from GitHub Releases
  • Pass commands directly as CLI arguments for quick ad-hoc use
  • Define persistent setups in a mprocs.yaml file with named process entries
  • Configure per-process environment variables, working directories, and auto-restart behavior
  • Set keybindings in the config to match your workflow preferences

Key Features

  • Split-pane TUI with a process sidebar and scrollable output per process
  • YAML config file for repeatable multi-service development setups
  • Stop, restart, or send signals to individual processes without leaving the TUI
  • Auto-restart option to recover crashed services during development
  • Lightweight single binary with no runtime dependencies

Comparison with Similar Tools

  • tmux / screen — General terminal multiplexers, require manual pane layout and scripting
  • Foreman / Overmind — Procfile-based runners, output is interleaved rather than per-pane
  • concurrently — Node.js-based, interleaves output with color prefixes, no TUI
  • Process Compose — Docker Compose-like YAML, richer process lifecycle but heavier config
  • just + parallel — Task runner approach, no live TUI or per-process scrollback

FAQ

Q: Can I interact with a running process's stdin? A: Yes. Select the process in the sidebar and type — keystrokes are forwarded to the process's stdin.

Q: Does mprocs support auto-restart on crash? A: Yes. Set autostart: true and autorestart: true in the YAML config for a process entry.

Q: How is mprocs different from tmux? A: mprocs is purpose-built for managing named long-running commands with a structured sidebar. tmux is a general-purpose terminal multiplexer requiring manual pane setup.

Q: Can I use mprocs in CI pipelines? A: It is primarily a development TUI tool. For CI, consider tools like GNU parallel or Make with background jobs.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产