portrm vs fkill-cli

Both kill processes. Only one protects you from breaking things.

Quick Comparison

Featurefkill-cliportrm
LanguageNode.jsRust
Binary size~15MB (with node_modules)~1.2MB
Dependencies30+0
Node.js requiredYesNo
Kill by portfkill :3000ptrm fix 3000
Kill by namefkill nodeptrm fix --name node
Interactive modeYes (TUI)Interactive prompts
Safety systemNone3-tier (SAFE/WARNING/BLOCKED)
Service identificationNoYes (13+ categories with confidence scores)
Graceful shutdownNo (SIGKILL by default)Yes (SIGTERM first)
Auto-restartNo--run flag
Port scanningNoptrm scan
Stack managementNoProfiles, monitoring
VS Code extensionNoYes
Config fileNo.ptrm.toml

Why Developers Switch from fkill

1. Safety matters

fkill sends SIGKILL by default. That means no cleanup, no graceful shutdown, no warning if you are about to kill PostgreSQL or Docker. portrm has a 3-tier safety system that identifies what is running on each port and warns you before touching anything critical.

2. Zero dependency footprint

fkill-cli requires Node.js and pulls in 30+ npm packages. That is 15MB+ of dependencies for killing a process. portrm is a single ~1.2MB Rust binary with zero runtime dependencies. Install it on any machine, any CI runner, any container.

3. More than a killer

fkill does one thing: kill processes. portrm is a complete port management toolkit: scan ports, inspect services, fix conflicts, restart services, manage dev stacks, monitor ports, and generate config files.

4. Graceful shutdown

portrm sends SIGTERM first, giving the process time to clean up connections, flush writes, and exit properly. Only if the process ignores the signal does portrm escalate to SIGKILL. fkill-cli goes straight to force-killing.

5. Dev stack awareness

portrm understands your dev stack. It can start multiple services from a .ptrm.toml profile, monitor them, and restart any that crash. fkill has no concept of development workflows.

Usage Comparison

# Kill process on port 3000
# fkill:
$ fkill :3000

# portrm:
$ ptrm fix 3000

# Kill process on port 3000 and restart dev server
# fkill:
$ fkill :3000 && npm run dev

# portrm:
$ ptrm fix 3000 --run "npm run dev"

# See what's using a port before killing
# fkill: not possible

# portrm:
$ ptrm 3000
#  Port 3000 - node (Next.js dev server)
#  PID: 84921 | Memory: 145MB | Uptime: 2h
#  Safety: SAFE to kill

# Scan all ports
# fkill: not possible

# portrm:
$ ptrm scan

When fkill Might Be Better

Ready to upgrade?

Drop-in replacement. Same muscle memory, more capabilities.