A CLI tool to interactively scan and kill processes by port number on macOS/Linux. Perfect for developers who need to quickly find and kill processes occupying specific ports.
- 🔍 Interactive port scanning with real-time filtering
- 🎯 Multi-select support to kill multiple processes at once
- 🚀 Fast and efficient using native system commands
- 💻 Works on macOS and Linux
- ⌨️ User-friendly interface with keyboard navigation
- 🔎 Search by port number or process name
# Using npm
npm install -g pscan
# Using bun
bun install -g pscanSimply run:
pscanThis will:
- Scan for all TCP ports in LISTEN state
- Show an interactive interface where you can:
- Type to filter ports/processes
- Use arrow keys to navigate
- Space to select/unselect processes
- Enter to confirm selection
- Kill all selected processes
Kill a specific port (e.g., development server on 5173):
# Launch pscan and type "5173" to filter
pscanKill multiple Node.js processes:
# Launch pscan and type "node" to filter
pscanContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the Apache License, Version 2.0.
See the LICENSE file for the full license text.
This project uses semantic-release to automate version management and package publishing. The release process is triggered on every push to the main branch and follows the Angular Commit Message Convention.
We follow the Angular Commit Message Convention. Example:
feat(scan): add IPv6 support for port scanning
fix(kill): handle process termination errors gracefully
Breaking changes should include BREAKING CHANGE: in the commit body or a ! after the type/scope.
To trigger a release manually:
- Ensure you're on the main branch
- Run:
npx semantic-releaseSee .releaserc.json for configuration details.