A fast, cross-platform (Windows / macOS / Linux) desktop process manager built with Tauri v2 + Rust backend and Svelte 5 frontend.
- Process list — PID, name, user, CPU%, RAM, status, path, parent PID
- Live updates — incremental diff from Rust every 1 s (no full re-renders)
- Search & filters — substring search, "mine only", system/non-system, CPU > X%, RAM > Y MB
- Sortable columns — click any column header, persists direction
- Actions — Terminate (SIGTERM), Force Kill (SIGKILL), Copy PID, Copy path, Open file location
- Safety — kill actions require confirmation modal with PID + name; "Needs rights" badge on restricted processes
- Keyboard shortcuts —
/focus search,Delterminate,F5refresh,Escclear/deselect - Pause/Resume — stop auto-refresh while you investigate
- Virtualised list — renders only visible rows; smooth scroll on 3,000+ processes
- Node.js 18+
- Rust stable 1.70+
# Ubuntu/Debian
sudo apt install libwebkit2gtk-4.1-dev libxdo-dev libayatana-appindicator3-dev librsvg2-dev build-essential curl file libssl-dev libgtk-3-dev
# Fedora
sudo dnf install webkit2gtk4.1-devel libxdo-devel libayatana-appindicator-gtk3-devel librsvg2-devel openssl-develxcode-select --install- Microsoft C++ Build Tools
- WebView2 (included with Windows 11)
# Install frontend dependencies
npm install
# Start development server (Tauri + Vite HMR)
npm run tauri devThe Tauri window opens automatically. Hot-module reload works for the Svelte frontend. Rust changes require a full restart.
# Production build (creates platform bundle in src-tauri/target/release/bundle/)
npm run tauri buildOutput locations:
- Linux —
.deb,.rpm,.AppImage - macOS —
.dmg,.app - Windows —
.msi,.exe(NSIS)
# Rust unit tests
cd src-tauri && cargo test
# Frontend type check
npm run check| Key | Action |
|---|---|
/ |
Focus search bar |
F5 |
Force refresh process list |
Esc |
Clear search / deselect process |
Del |
Terminate selected process (with confirmation) |
Enter |
Confirm modal |
Esc (modal) |
Cancel modal |
| Setting | Default | Description |
|---|---|---|
| Refresh interval | 1000 ms | Configurable via dropdown: 500 ms – 5 s |
RUST_LOG env var |
info |
Set to debug or trace for verbose backend logs |
Processes owned by SYSTEM or elevated services require admin rights. Run Process Manager as Administrator.
UAC prompt: Right-click the executable → "Run as administrator".
macOS SIP prevents even root from killing certain system processes. For user processes you may need Full Disk Access in System Settings → Privacy & Security.
Some distributions restrict signal delivery to processes owned by other users. Run with sudo or configure polkit to allow your user.
# Quick test with sudo
sudo RUST_LOG=info ./process-managerprocess-manager/
├── src-tauri/src/
│ ├── main.rs Entry point
│ ├── lib.rs Tauri builder, plugin registration
│ ├── state.rs Shared AppState (Arc<Mutex<T>>)
│ ├── error.rs AppError enum
│ ├── models/process.rs ProcessDto, filter/sort helpers + unit tests
│ ├── collector/ sysinfo-based process collector
│ ├── updater/ Background refresh loop, event emitter
│ └── commands/ Tauri command handlers (list, kill, open)
└── src/
├── routes/+page.svelte Main application page
├── lib/api/ Typed invoke/listen wrappers
├── lib/stores/ Svelte 5 rune-based reactive stores
├── lib/components/ UI components (table, filters, modals)
└── lib/utils/ Formatting helpers
Pre-built binaries for all supported platforms are attached to each GitHub Release.
| Platform | Architecture | Installer formats |
|---|---|---|
| Linux | x86_64 | .deb, .rpm, .AppImage |
| Linux | aarch64 | .deb, .rpm, .AppImage |
| Windows | x86_64 | .msi, .exe (NSIS) |
| Windows | aarch64 | .msi, .exe (NSIS) |
| macOS | Apple Silicon (aarch64) | .dmg, .app |
macOS Intel (x86_64) is not supported. The
macos-13GitHub Actions runner (the last Intel runner) is EOL and is no longer available.
# Tag the commit you want to release
git tag v0.2.0
git push origin v0.2.0The release workflow triggers automatically, builds all platform bundles in parallel, and creates a draft GitHub Release with the compiled installers attached as assets.
Once all platform jobs finish, open the draft release on GitHub, review the assets, edit the release notes if needed, and click Publish release.
See .ai-factory/ARCHITECTURE.md for the full v1 / v1.1 plan.