Skip to content

Cryptoteep/portslay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

portslay

Find and kill the process on any port. Interactive, zero dependencies, works everywhere.

npm version npm downloads CI license

Error: listen EADDRINUSE: address already in use :::3000 — we've all been there.

npx portslay 3000

Done. ✔ killed node (pid 31196) on port 3000.

Interactive mode

Run it with no arguments to get a live picker of everything listening on your machine:

npx portslay
 portslay v1.0.0  ·  ↑↓ move · space select · enter kill · type to filter · esc quit

    PORT  PROCESS     PID  ADDRESS
 ○  3000  node      31196  0.0.0.0:3000
 ◉  5173  node      18244  127.0.0.1:5173
 ○  5433  postgres   7024  127.0.0.1:5433
 ◉  8080  java      22011  0.0.0.0:8080

Arrow keys to move, space to multi-select, enter to kill. Just start typing (node, 80, …) to filter.

Usage

npx portslay                # interactive picker
npx portslay 3000           # kill whatever listens on port 3000
npx portslay 3000 5173 8080 # several at once
npx portslay 3000-3010      # a whole range
npx portslay --list         # just show listening ports
npx portslay --list --json  # machine-readable
Flag Description
-l, --list list listening TCP ports and exit
-f, --force SIGKILL immediately (default: SIGTERM, auto-escalates if the process ignores it)
-j, --json JSON output for scripts
-v, --version print version
-h, --help help

Or install it for good: npm i -g portslay.

Why this one?

  • Zero dependencies. npx portslay cold-starts in a blink — nothing to download but one small file.
  • Interactive. See what is squatting on your ports before you kill it. Multi-select, filter, kill in bulk.
  • Graceful by default. Sends SIGTERM first so processes can clean up, escalates to SIGKILL only if ignored. --force skips the pleasantries.
  • Truly cross-platform. Native netstat/taskkill on Windows, lsof on macOS, lsof/ss on Linux. No compiled binaries, no WSL tricks.
  • Scriptable. --json and meaningful exit codes (0 freed, 1 something survived, 2 bad input).

Requirements

Node.js ≥ 18. That's it.

License

MIT © Cryptoteep

About

Find and kill the process on any port. Interactive, zero dependencies, cross-platform. npx portkill 3000

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors