kilar π
A powerful CLI tool for managing port processes on your system. Quickly find and terminate processes using specific ports with an intuitive interface.
π Table of Contents
- π Quick Start
- β¨ Key Features
- π¦ Installation
- π Usage
- ποΈ Command Options
- π Examples
- π¨ Output Format
- π Requirements
- π¨ Building from Source
- π€ Contributing
- π Security
- π Project Status
- π Performance & Compatibility
- πΊοΈ Roadmap
- π License
π Quick Start
# Install via Homebrew (macOS/Linux)
&&
# Install via Cargo
# Quick usage
β¨ Key Features
π Smart Port Detection
- Lightning-fast port checking - Instantly see if a port is in use and which process owns it
- Protocol support - Works with both TCP and UDP protocols
- Detailed process information - View PID, process name, and command line
β‘ Safe Process Management
- Graceful termination - Kill processes with built-in safety confirmations
- Force kill option - Override confirmations when needed
- Interactive selection - Choose multiple processes to terminate with an intuitive UI
π Comprehensive Listing
- Port range filtering - View specific port ranges (e.g., 3000-4000)
- Process name filtering - Find ports by application name
- Flexible sorting - Sort by port, PID, or process name
π¨ Developer-Friendly Output
- Color-coded terminal output - Easy-to-read with intuitive color schemes
- JSON export - Perfect for scripting and automation
- Verbose mode - Get detailed information when troubleshooting
π Cross-Platform & Modern
- Universal compatibility - Works on macOS, Linux, and Windows
- Multiple installation methods - Homebrew, Cargo, or from source
- Zero dependencies - Single binary with no runtime requirements
π¦ Installation
πΊ Homebrew (Recommended for macOS/Linux)
# Add tap and install
# Or one-liner
π¦ Cargo (Universal)
# Install from crates.io
# Install from source
π₯ Binary Downloads
Download pre-built binaries from the releases page:
- macOS (Intel):
kilar-x86_64-apple-darwin.tar.gz - macOS (Apple Silicon):
kilar-aarch64-apple-darwin.tar.gz - Linux (x86_64):
kilar-x86_64-unknown-linux-gnu.tar.gz - Linux (ARM64):
kilar-aarch64-unknown-linux-gnu.tar.gz - Windows:
kilar-x86_64-pc-windows-msvc.tar.gz
π¨ From Source
Note: Requires Rust 1.70 or later
Usage π
Check if a port is in use
# Check port 3000
# Check UDP port
# JSON output
# Verbose mode for detailed information
Kill a process using a specific port
# Kill process on port 3000
# Force kill without confirmation
# Kill UDP process
List all ports in use
# List all TCP ports
# List all ports (TCP and UDP)
# Filter by port range
# Filter by process name
# Sort by different criteria
# Interactive kill mode
Command Options ποΈ
Global Options
-q, --quiet: Suppress output-j, --json: Output in JSON format-v, --verbose: Enable verbose output-h, --help: Print help information-V, --version: Print version information
Check Command
PORT: Port number to check-p, --protocol <PROTOCOL>: Protocol (tcp/udp) [default: tcp]
Kill Command
PORT: Port number of the process to kill-f, --force: Force kill without confirmation-p, --protocol <PROTOCOL>: Protocol (tcp/udp) [default: tcp]
List Command
-r, --ports <RANGE>: Port range to filter (e.g., 3000-4000)-f, --filter <NAME>: Filter by process name-s, --sort <ORDER>: Sort order (port/pid/name) [default: port]-p, --protocol <PROTOCOL>: Protocol (tcp/udp/all) [default: tcp]--view-only: View only (no kill feature)
Examples π
Development Workflow
# Check if your development server port is free
# If occupied, see what's using it
# Kill the process if needed
# List all development-related ports
System Administration
# List all services
# Find specific service
# Check system ports
# Export port usage as JSON
Output Format π¨
Standard Output
- β Green checkmark: Success/Port in use
- Γ Red cross: Error/Failed operation
- β Blue circle: Information/Port available
- Yellow: Port numbers and process names
- Cyan: PIDs and labels
- Blue: Protocol information
JSON Output
All commands support JSON output for scripting and automation:
Requirements π
- macOS/Linux:
lsofcommand (usually pre-installed) - Windows:
netstatcommand (pre-installed) - Permissions: Some operations may require sudo/administrator privileges
Building from Source π¨
# Clone the repository
# Build in release mode
# Run tests
# Install locally
π€ Contributing
We welcome contributions! Here's how you can help:
- π Report bugs
- π‘ Request features
- π Improve documentation
- π§ Submit pull requests
See our Contributing Guide for detailed instructions.
π Security
kilar handles system processes and requires appropriate permissions:
- Process visibility: Requires read access to system process information
- Process termination: May require elevated privileges (sudo/administrator) for some processes
- Network data: Accesses network connection information through system commands
For security issues, please see our Security Policy.
π Project Status
ποΈ Development Status
- Stable: Core functionality is production-ready
- Active: Regular updates and maintenance
- Cross-platform: Tested on macOS, Linux, and Windows
π CI/CD Status
Note: Windows CI tests are currently disabled due to environment instability. The project fully supports Windows platform, but automated testing is temporarily limited to macOS and Linux environments. Windows builds are still generated and released.
π Performance & Compatibility
| Platform | Min Version | Status | Notes |
|---|---|---|---|
| macOS | 10.15+ | β Full Support | Intel & Apple Silicon |
| Linux | Any modern | β Full Support | Requires lsof |
| Windows | 10+ | β Full Support | Uses netstat |
πΊοΈ Roadmap
- v0.2.0: Configuration file support
- v0.3.0: Plugin system for custom output formats
- v0.4.0: Network interface filtering
- v1.0.0: Stable API and comprehensive documentation
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π₯ Authors & Contributors
π Maintainer: polidog
Thanks to all contributors who help make this project better!
π Acknowledgments
- π¦ Built with Rust - For memory safety and performance
- β‘ Tokio - Async runtime for efficient I/O operations
- π¨ Terminal UI - Powered by
dialoguerandcolored - ποΈ Cross-compilation - Thanks to GitHub Actions and
cross
π Related Projects
β οΈ Important: This tool requires appropriate permissions to view and terminate processes. Some system processes may require elevated privileges (sudo/administrator).