A desktop application for finding and killing processes running on open ports.
Perfect for developers who need to quickly free up ports like 3000, 8080, 5173, etc.
| Version | Platform | Tech Stack | Status |
|---|---|---|---|
| Tauri | Linux, Windows, macOS | Rust + React + TypeScript | ✅ Active |
| Swift | macOS only | Swift 6.0 | Original |
- 🖥️ System Tray Integration - Quick access from menu bar/system tray
- 🔍 Port Discovery - Automatically finds all listening TCP ports
- 📝 Process Info - Shows process name, PID, and protocol
- ⚡ Quick Kill - One-click process termination
- 🗑️ Kill All - Terminate all listed processes at once
- 🔄 Auto-Refresh - Configurable refresh interval
- 🔎 Search - Filter by port number, process name, or PID
- ⭐ Favorites - Mark ports as favorites (Tauri version)
- 🎨 Dark/Light Theme - Automatic theme switching (Tauri version)
- ⌨️ Global Shortcuts - Quick access with keyboard shortcuts
The Tauri version is a complete rewrite that works on Linux, Windows, and macOS.
cd port-killer-tauri
pnpm install
pnpm tauri dev- Modern React 19 + TypeScript frontend
- Rust backend for native performance
- System tray popup with full functionality
- Global keyboard shortcut (
Alt+I) - Persistent settings and favorites
The original Swift version is a native macOS menu bar application.
- macOS 15.0+ (Sequoia)
brew install --cask productdevbook/tap/portkillerDownload the latest DMG from GitHub Releases.
./scripts/build-app.sh
cp -r .build/release/PortKiller.app /Applications/
open /Applications/PortKiller.appPortKiller uses platform-specific commands to scan for open ports:
Linux/macOS:
ss -tlnp # or lsof -iTCP -sTCP:LISTEN -P -nWindows:
netstat -anoWhen killing a process, it first tries graceful termination (SIGTERM on Unix), then forces it (SIGKILL) if needed.
See CONTRIBUTING.md for development setup.
- Original Swift version by productdevbook
- Tauri cross-platform port by contributors
MIT License - see LICENSE.