A native macOS process tree viewer built with Tauri 2. Browse, search, and manage system processes through an interactive hierarchical tree with real-time resource monitoring.
The built-in macOS Activity Monitor displays processes as a flat list, making it difficult to understand parent-child relationships between processes. It also lacks bulk process management -- killing multiple processes requires opening each one individually. This app presents a collapsible tree view with real-time sparkline charts, regex/fuzzy search, and multi-select bulk kill -- all rendered in a native macOS window.
- Hierarchical process tree -- expand and collapse process groups to navigate the full process hierarchy
- Real-time sparkline charts -- inline CPU and memory usage graphs that update continuously
- Regex and fuzzy search -- filter processes by name using regular expressions or fuzzy matching (powered by Fuse.js)
- Multi-select with bulk kill -- select multiple processes and send SIGTERM or SIGKILL with a confirmation dialog
- Virtualized rendering -- handles thousands of processes smoothly using TanStack Virtual
- Native macOS title bar -- uses Tauri's window overlay for a seamless macOS look and feel
| Layer | Technology |
|---|---|
| Runtime | Tauri 2 (Rust backend) |
| System | sysinfo crate |
| Frontend | React 19 + TypeScript |
| Compiler | React Compiler (babel-plugin-react-compiler) |
| Styling | Tailwind CSS 4 + shadcn/ui |
| Data | TanStack Query / Table / Virtual |
| Bundler | Vite 7 |
| Testing | Vitest |
| Package | pnpm |
- Download the latest
.dmgfrom the Releases page. - Open the
.dmgand drag macos-process-tree into your/Applicationsfolder. - On first launch, macOS Gatekeeper may block the app because it is not notarized. To allow it:
- Open System Settings → Privacy & Security.
- Scroll down to the Security section.
- Click Open Anyway next to the blocked app message.
- Alternatively, right-click the app in Finder, select Open, and confirm in the dialog.
- Node.js 20+
- pnpm 9+
- Rust (install via rustup)
- Xcode Command Line Tools -- run
xcode-select --installif not already installed
git clone https://github.com/doryski/macos-process-tree.git
cd macos-process-tree
pnpm installpnpm tauri devThis starts the Vite dev server and opens the Tauri window with hot module replacement.
pnpm tauri buildProduces a native .app bundle and .dmg installer in src-tauri/target/release/bundle/.
pnpm vitest runmacos-process-tree/
src/ # React frontend
components/ # UI components (ProcessTable, Toolbar, Sparkline, etc.)
hooks/ # Custom hooks (useProcessTree, useSelection, useSparklineHistory)
lib/ # Utilities (tree-utils, filter, fuzzy-search, format)
types/ # TypeScript type definitions
src-tauri/ # Tauri / Rust backend
src/
commands.rs # Tauri command handlers
process_tree.rs # Process tree construction via sysinfo
types.rs # Rust data structures
tests/ # Vitest unit tests
- macOS -- fully supported (primary target)
- Linux / Windows -- not supported. The app uses macOS-specific Tauri window features and targets macOS process semantics.
Contributions are welcome. Please read the Contributing Guide before opening a pull request.
