fuckport is a small command-line tool for stopping processes by PID, process name, or listening port.
- Kill by PID:
fuckport 1234 - Kill by process name:
fuckport chrome - Kill by port:
fuckport :3000 - Kill processes using files or directories under a directory tree:
fuckport --directory ./project - Kill multiple targets in one run
- Interactive picker when no target is provided
- Graceful shutdown first, with automatic fallback to force kill
cargo install fuckportFor local development:
cargo install --path .Or build locally:
cargo build --releasefuckport [OPTIONS] [TARGET]...Targets:
1234treats the value as a PID:8080treats the value as a port- Any other value is matched against process name and command line
Options:
-f, --force: force kill immediately-c, --case-sensitive: enable case-sensitive name matching-d, --directory <DIR>: kill processes holding files or directories underDIR-i, --interactive: open the interactive selector-s, --silent: suppress success output-v, --verbose: show more detail in interactive mode--force-after-timeout <N>: wait time before escalating to force kill--wait-for-exit <N>: maximum wait before reporting failure
Kill a process by PID:
fuckport 1337Kill a process by name:
fuckport safariKill whatever is listening on a port:
fuckport :8080Kill processes holding files or directories under a project tree:
fuckport --directory ./projectKill multiple targets in one command:
fuckport 1337 safari :8080 --directory ./projectRun without arguments to open the interactive interface:
fuckportTo kill a port, prefix it with a colon, for example :8080.
The interactive interface can be closed with Esc without killing anything.
Process name matching is case-insensitive by default. Queries containing uppercase letters use smart-case matching.
Library-style examples:
cargo run --example parse_targets
cargo run --example list_processescargo testcargo package
cargo publish