Skip to content

Native macOS menu bar app for finding and killing processes on open ports. Perfect for developers.

License

Notifications You must be signed in to change notification settings

956zs/port-killer

 
 

Repository files navigation

PortKiller

PortKiller Icon

License: MIT GitHub Release

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.

Versions

Version Platform Tech Stack Status
Tauri Linux, Windows, macOS Rust + React + TypeScript ✅ Active
Swift macOS only Swift 6.0 Original

Features

  • 🖥️ 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

Tauri Version (Cross-Platform)

The Tauri version is a complete rewrite that works on Linux, Windows, and macOS.

Quick Start

cd port-killer-tauri
pnpm install
pnpm tauri dev

Features

  • 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

📖 Full Documentation


Swift Version (macOS Only)

The original Swift version is a native macOS menu bar application.

Requirements

  • macOS 15.0+ (Sequoia)

Installation

Homebrew (Recommended)

brew install --cask productdevbook/tap/portkiller

Download

Download the latest DMG from GitHub Releases.

Build from Source

./scripts/build-app.sh
cp -r .build/release/PortKiller.app /Applications/
open /Applications/PortKiller.app

How It Works

PortKiller uses platform-specific commands to scan for open ports:

Linux/macOS:

ss -tlnp  # or lsof -iTCP -sTCP:LISTEN -P -n

Windows:

netstat -ano

When killing a process, it first tries graceful termination (SIGTERM on Unix), then forces it (SIGKILL) if needed.

Contributing

See CONTRIBUTING.md for development setup.

Credits

  • Original Swift version by productdevbook
  • Tauri cross-platform port by contributors

Sponsors

License

MIT License - see LICENSE.

About

Native macOS menu bar app for finding and killing processes on open ports. Perfect for developers.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 72.9%
  • TypeScript 20.3%
  • Rust 4.1%
  • Shell 1.5%
  • Other 1.2%