2 stable releases
new 3.0.0 | Mar 21, 2025 |
---|---|
2.0.0 | Mar 20, 2025 |
#426 in Unix APIs
173 downloads per month
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
- When you specify one or more ports, the tool checks if each port is available.
- If a port is in use, the tool attempts to kill the process using that port.
- 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