{"_id":"@barissozudogru/portscan-dev","_rev":"3-a387332caa0be941fd0f0d5548d1731e","name":"@barissozudogru/portscan-dev","dist-tags":{"latest":"0.4.2"},"versions":{"0.4.0":{"name":"@barissozudogru/portscan-dev","version":"0.4.0","keywords":["ports","dev","kill","process","cli"],"author":{"name":"Baris Sozudogru"},"license":"MIT","_id":"@barissozudogru/portscan-dev@0.4.0","maintainers":[{"name":"barissozudogru","email":"barissozudogru@gmail.com"}],"homepage":"https://github.com/barissozudogru/portscan-dev#readme","bugs":{"url":"https://github.com/barissozudogru/portscan-dev/issues"},"bin":{"portscan-dev":"dist/cli.js"},"dist":{"shasum":"6fb63ad07d6ff55720b65d0df9c6815182c60cae","tarball":"https://registry.npmjs.org/@barissozudogru/portscan-dev/-/portscan-dev-0.4.0.tgz","fileCount":9,"integrity":"sha512-dbLihgVaNSoWSN5oRKFQvk5bBthVxek7cXL7E9+QzJlsWWUf7CirC9FA8ZZB2qSkHAMWwhaPJ/o1JXjpy53iCA==","signatures":[{"sig":"MEUCIQDqVhMckY5O18+2Ww32hxMyxB/mdVqsT6RGbkhygLeLfQIgOV74MsD0U+HmOgv6kLhSS1kzvUMIbZYOIO0anUlioX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21599},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"3518a90455568d9e851d0388107c219347c5de15","scripts":{"test":"npm run build && node --test test/*.test.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"barissozudogru","email":"barissozudogru@gmail.com"},"repository":{"url":"git+https://github.com/barissozudogru/portscan-dev.git","type":"git"},"_npmVersion":"11.6.2","description":"Scan and manage active development ports","directories":{},"_nodeVersion":"25.2.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/portscan-dev_0.4.0_1787176172490_0.8244721612851758","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@barissozudogru/portscan-dev","version":"0.4.1","keywords":["ports","localhost","development","process-inspector","address-in-use","cli"],"author":{"name":"Baris Sozudogru"},"license":"MIT","_id":"@barissozudogru/portscan-dev@0.4.1","maintainers":[{"name":"barissozudogru","email":"barissozudogru@gmail.com"}],"homepage":"https://petri-labs.org/tools/portscan-dev/","bugs":{"url":"https://github.com/barissozudogru/portscan-dev/issues"},"bin":{"portscan-dev":"dist/cli.js"},"dist":{"shasum":"f640fc06af6c38f5c476405f6b07c596a17a8805","tarball":"https://registry.npmjs.org/@barissozudogru/portscan-dev/-/portscan-dev-0.4.1.tgz","fileCount":9,"integrity":"sha512-t3BJ+9ouL6MftByjdO1JFdnk7meBEhbppxMplza1wYgbazJzuepFwvaX4bTDy75yhOgBCw4NYQPjX9k1qHLYRw==","signatures":[{"sig":"MEYCIQDPzaOGYLKUrsj/BVYAlTuatLJ/WYHXpVMKOxYW45a6ywIhAPL3+UmoqvSYGAANa+zA0QQguJ0p0iE1QXfWqN0pkFVk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFgI7Hrtdh+N4BBKDU3OMXZzr8hDpgHXMAgsq0EkLK/nAiBBlzpwqeTHV4yGtVgvmcGTZXWib6TjMbGXZJZ9KAzGYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23227},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"bc5f21b855c02cf5f18c6f676e423bd010b43faa","scripts":{"test":"npm run build && node --test test/*.test.js","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"barissozudogru","email":"barissozudogru@gmail.com"},"repository":{"url":"git+https://github.com/barissozudogru/portscan-dev.git","type":"git"},"_npmVersion":"11.6.2","description":"Identify local development processes by listening port","directories":{},"_nodeVersion":"25.2.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/portscan-dev_0.4.1_1787699172237_0.97745591634255","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"_id":"@barissozudogru/portscan-dev@0.4.2","bin":{"portscan-dev":"dist/cli.js"},"bugs":{"url":"https://github.com/barissozudogru/portscan-dev/issues"},"dist":{"shasum":"89b93bd39130b1363f79f4e40f20b1e8d7f7e0ea","tarball":"https://registry.npmjs.org/@barissozudogru/portscan-dev/-/portscan-dev-0.4.2.tgz","fileCount":9,"integrity":"sha512-adg8OIoyDT1YzvnL8Y4zQ04f8nUD153Ah71YOCQ1Wt1UpAZTOAD7rJU3lnjTtH/RnbO9vQjQCCJxwhBd6gHMww==","signatures":[{"sig":"MEUCIA48h0aZILC8XEXuSShAlnGVaxv1fss1eNgpsgtSeYMpAiEAwmR06LvUuk57jEaE/2SDqsEtcapUydZV1fjgh/+JK3M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGI7lpiGx/GOcYzdlCLD2LcsrcTAskF4asE+MmqCfmNNAiEAwxXVcYI4Oku5L2vxtxlGioj4bpGcVTo+8WLmVG8RRYs="}],"unpackedSize":23303},"main":"dist/index.js","name":"@barissozudogru/portscan-dev","type":"module","types":"dist/index.d.ts","author":{"name":"Baris Sozudogru"},"engines":{"node":">=18.0.0"},"gitHead":"ddfa2b7e170c918eeb655eced77cb430f6520f9b","license":"MIT","scripts":{"test":"npm run build && node --test test/*.test.js","build":"tsc","prepublishOnly":"npm run build"},"version":"0.4.2","_npmUser":{"name":"barissozudogru","email":"barissozudogru@gmail.com"},"homepage":"https://petri-labs.org/tools/portscan-dev/","keywords":["ports","localhost","development","process-inspector","address-in-use","cli"],"repository":{"url":"git+https://github.com/barissozudogru/portscan-dev.git","type":"git"},"_npmVersion":"11.6.2","description":"Identify local development processes by listening port","directories":{},"maintainers":[{"name":"barissozudogru","email":"barissozudogru@gmail.com"}],"_nodeVersion":"25.2.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/portscan-dev_0.4.2_1787745817470_0.48719011030100945"}}},"time":{"created":"2026-08-19T21:49:32.338Z","modified":"2026-08-26T12:03:37.705Z","0.4.0":"2026-08-19T21:49:32.655Z","0.4.1":"2026-08-25T23:06:12.351Z","0.4.2":"2026-08-26T12:03:37.549Z"},"bugs":{"url":"https://github.com/barissozudogru/portscan-dev/issues"},"author":{"name":"Baris Sozudogru"},"license":"MIT","homepage":"https://petri-labs.org/tools/portscan-dev/","keywords":["ports","localhost","development","process-inspector","address-in-use","cli"],"repository":{"url":"git+https://github.com/barissozudogru/portscan-dev.git","type":"git"},"description":"Identify local development processes by listening port","maintainers":[{"name":"barissozudogru","email":"barissozudogru@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"./assets/social-preview.svg\" alt=\"portscan-dev\" width=\"900\" />\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@barissozudogru/portscan-dev\"><img alt=\"npm version\" src=\"https://img.shields.io/npm/v/@barissozudogru/portscan-dev?style=flat-square&color=F08B72\"></a>\n  <a href=\"https://www.npmjs.com/package/@barissozudogru/portscan-dev\"><img alt=\"npm downloads\" src=\"https://img.shields.io/npm/dm/@barissozudogru/portscan-dev?style=flat-square&color=F08B72\"></a>\n  <a href=\"https://github.com/barissozudogru/portscan-dev/actions/workflows/ci.yml\"><img alt=\"CI\" src=\"https://github.com/barissozudogru/portscan-dev/actions/workflows/ci.yml/badge.svg\"></a>\n  <a href=\"./LICENSE\"><img alt=\"MIT license\" src=\"https://img.shields.io/badge/License-MIT-F08B72?style=flat-square\"></a>\n</p>\n\n# portscan-dev\n\n`portscan-dev` scans your system for processes listening on development ports (3000-9999, plus well-known service ports such as PostgreSQL, Redis, MongoDB, Ollama, RabbitMQ, Memcached and the Docker daemon) and displays PID, process name, uptime, and command line. When a process occupies a required port, kill it directly without manual `lsof` or `ps` commands.\n\nThis is a local development process inspector. It is not a network discovery or security scanner.\n\n[Tool page](https://petri-labs.org/tools/portscan-dev/) · [npm](https://www.npmjs.com/package/@barissozudogru/portscan-dev) · [Source](https://github.com/barissozudogru/portscan-dev)\n\n## Installation\n\n```bash\nnpm install -g @barissozudogru/portscan-dev\n```\n\n## Usage\n\n```bash\n# Scan active development ports\nportscan-dev\n\n# Kill process on port 3000\nportscan-dev --kill 3000\n\n# Kill processes on multiple ports\nportscan-dev --kill 3000,8080,4000\n\n# Kill with a specific signal\nportscan-dev --kill 3000 --signal SIGKILL\n\n# Filter scan to a port range\nportscan-dev --port-range 3000-5000\n\n# Output results as JSON\nportscan-dev --json\n```\n\n## Options\n\n| Flag | Alias | Description | Default |\n|---|---|---|---|\n| `--kill <ports>` | `-k` | Comma-separated list of ports to kill | - |\n| `--signal <signal>` | `-s` | Signal to send when killing (e.g. `SIGTERM`, `SIGKILL`) | `SIGTERM` |\n| `--port-range <start-end>` | - | Filter scan to a port range, e.g. `3000-9000` | - |\n| `--json` | `-j` | Output results as JSON | - |\n| `--version` | `-v` | Print version and exit | - |\n| `--help` | `-h` | Show help | - |\n\n## Output Example\n\n```\nPORT      PID       PROCESS               UPTIME            COMMAND\n\n3000      28471     node                  00:12:04          node server.js\n3001      28512     node                  00:11:58          npx react-scripts start\n4200      29104     ng                    00:08:31          ng serve --port 4200\n5173      31002     vite                  00:02:17          vite --host\n8080      22891     python3               01:04:42          python3 -m http.server 8080\n5432      1084      postgres              14:22:10          postgres -D /usr/local/var/postgresql@14/data\n6379      1091      redis-server          14:22:08          redis-server *:6379\n```\n\nA live verification with `python3 -m http.server 4567` returned the Python process owning port 4567. The temporary process was stopped after verification.\n\nIf this saves you time, consider [starring the repository](https://github.com/barissozudogru/portscan-dev). It helps other developers find it.\n\n## Scanned Ports\n\nBy default, `portscan-dev` scans ports 3000-9999 plus well-known local service ports for databases, queues, containers, and model runtimes. Pass `--port-range <start-end>` to specify a custom range.\n\n## Platform Support\n\n| Platform | Detection tool | Notes |\n|---|---|---|\n| macOS | `lsof` | Available by default |\n| Linux | `ss` | Available in `iproute2` |\n| Linux (fallback) | `lsof` | Fallback when `ss` is missing |\n\nProcess uptime and full command are resolved via `ps` on supported platforms.\n\n## Exit Codes\n\n| Code | Meaning |\n|---|---|\n| `0` | Success (scan completed or ports killed) |\n| `1` | Failure (one or more ports could not be killed) |\n\n## License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}