#port #kill #ports #process-information #processes #verbose #print

bin+lib port-claim

A tool to check if ports are in use and kill processes using them

2 stable releases

new 3.0.0 Mar 21, 2025
2.0.0 Mar 20, 2025

#426 in Unix APIs

Download history 173/week @ 2025-03-16

173 downloads per month

MIT license

19KB
243 lines

port-claim

If a port is in use, port-claim stops the process using it.


Installation

Via npm or pnpm (global)

# Using npm
npm install -g port-claim

# Using pnpm
pnpm add -g port-claim

In a project (package.json)

# Using npm
npm install port-claim --save-dev

# Using pnpm
pnpm add -D port-claim

Then add to your package.json scripts:

"scripts": {
  "predev": "port-claim 3000",
  "dev": "nuxt dev"
  // "dev": "port-claim 3000 && nuxt dev"
}

Via Cargo (Rust)

# Install directly from crates.io
cargo install port-claim

# Or install from source
git clone https://github.com/jasenmichael/port-claim.git
cd port-claim
cargo install --path .

Binary Installation

You can download pre-compiled binaries from the GitHub Releases page.

Available for:

  • Linux (x64, arm64, x86)
  • macOS (x64, arm64)
  • Windows (x64, x86)

Usage

port-claim -h | --help | -V | --version
port-claim <port> [<additional-ports>] [-v | --verbose]

Options

  • -h, --help: Prints usage information
  • -V, --version: Prints the version
  • -v, --verbose: Prints verbose information about port status and process killing

Arguments

  • <port>: Required argument specifying the port to check and kill if in use
  • [<additional-ports>]: Optional additional ports to check and kill

Examples

# Check if port 8080 is in use and kill the process if it is
port-claim 8080

# Check multiple ports with verbose output
port-claim 3000 8080 9000 --verbose

# Display help information
port-claim --help

# Display version information
port-claim --version

How It Works

  1. When you specify one or more ports, the tool checks if each port is available.
  2. If a port is in use, the tool attempts to kill the process using that port.
  3. With the --verbose flag, the tool will print information about each step of the process.

Platform Support

The tool works on both Unix-based systems (Linux, macOS) and Windows, using different system commands to identify and kill processes on each platform.

Development

# Clone the repository
git clone https://github.com/jasenmichael/port-claim.git
cd port-claim

# Install dependencies (for the npm wrapper)
npm install

# Build the Rust binary
cargo build --release

# Run tests
cargo test

# Format code
cargo fmt

# Lint code
cargo clippy

Dependencies

~1–8MB
~59K SLoC