识别端口占用进程身份,复用、换端口或精确终止
26.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add PangYiMing/dsh-port-guard该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 82 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 识别端口占用进程
- 复用或切换端口
- 精确终止占用进程
DSH 插件:处置端口占用(复用、切换、精确终止)—— 端口占用处置
README
由 DeepSeek 最新模型翻译生成dsh-port-guard
DeepSeek Harness 插件 · 端口占用处置 / DSH plugin for triaging port conflicts
dev server 启动报 EADDRINUSE: address already in use——最常见的前置障碍。但不是所有 EADDRINUSE 都该 kill。
The classic blocker before any dev server starts. But not every EADDRINUSE should be killed.
核心洞察:EADDRINUSE 有三条路,不是只有"杀"
| 情况 | 占端口的是谁 | 正确动作 |
| A. 自己的、还在正常服务的 dev server | 上次会话遗留的同项目 dev server | 复用,比重启快 |
| B. 别人的项目 / 不该杀的进程 | 另一个项目 / 系统服务 | 换端口绕开,不抢杀 |
| C. 确认是僵尸/残留进程 | 已死但端口没释放 / 重复拉起的 | 精确 PID kill |
先判断属于哪种,再决定动作。不无脑 kill。
展开完整文档(README 剩余 1 节)
dsh-port-guard DeepSeek Harness 插件 · 端口占用处置 / DSH plugin for triaging port conflicts dev server 启动报 EADDRINUSE: address already in use——最常见的前置障碍。但不是所有 EADDRINUSE 都该 kill。 The classic blocker before any dev server starts. But not every EADDRINUSE should be killed. 核心洞察:EADDRINUSE 有三条路,不是只有"杀" | 情况 | 占端口的是谁 | 正确动作 | | A. 自己的、还在正常服务的 dev server | 上次会话遗留的同项目 dev server | 复用,比重启快 | | B. 别人的项目 / 不该杀的进程 | 另一个项目 / 系统服务 | 换端口绕开,不抢杀 | | C. 确认是僵尸/残留进程 | 已死但端口没释放 / 重复拉起的 | 精确 PID kill | 先判断属于哪种,再决定动作。不无脑 kill。 定位 + 取证 Identify & investigate ./scripts/port-guard.sh 8080 脚本会打印占用进程的完整身份信息: 定位 lsof -nP -iTCP:8080 -sTCP:LISTEN 身份:启动时刻/运行时长/有无控制终端 ps -o pid,ppid,lstart,etime,tty,%cpu,rss,command -p "$PID" 工作目录 → 属于哪个项目 lsof -a -p "$PID" -d cwd -Fn | grep '^n' | sed 's/^n//' 子进程(有子进程的别直接杀父,先看树) pgrep -P "$PID" 判读组合: | 观察 | 含义 | | PPID=1 | 父进程已退出,被 launchd 收养 —— 孤儿 | | tty=?? | 没有控制终端,不是人在终端里跑的 | | fd0 → /dev/null,fd1/fd2 → 某个 .log | nohup cmd > log 2>&1 & 指纹 → agent/脚本起的 | | tty=ttys00X | 人在终端窗口起的,杀之前更该问一声 | | etime 好几天 + %cpu 0.0 + rss 极小 | 挂了很久的僵尸 watcher(可能 watch 源码目录,某天突然醒来写产物) | 三种处置 Three paths A. 复用:确认进程还活着(kill -0 只检测不杀) kill -0 "$PID" && echo alive B. 换端口绕开,不杀别人的 PORT=18080 node index.js C. 精确 kill(先 SIGTERM 给优雅退出机会,不行再 SIGKILL) ./scripts/port-guard.sh 8080 --kill 安全红线 Safety rules 1. 先判断该不该杀——EADDRINUSE 不等于该杀(复用 > 重启)。 2. 绝不 killall node / pkill -f node——精确 PID,不误伤其他正常服务。 3. PID < 100 绝不杀——系统进程。 4. 别人的进程不杀——换端口绕开。 5. 命令行看不懂 / 不确定是什么——停下报告用户,不擅自杀。 安装 Install 发布到 npm 后 dsh plugin --profile demo add dsh-port-guard 或从 GitHub 安装 dsh plugin --profile demo add github:PangYiMing/dsh-port-guard 许可证 License MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
PangYiMing/dsh-port-guard
识别端口占用进程身份,复用、换端口或精确终止
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,288已汉化MCP
71.7
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9
原生编程智能体paean-ai/deeptide
由 DeepSeek 打造,为 DeepSeek 而生。
★ 1,107已汉化DSH
67.7
多引擎接力台emo-xiaoyu/harness-mix
macOS/Linux 已加入源码构建与启动适配;目标系统的完整桌面验收仍需在对应机器执行。安装方式、Linux…
★ 419已汉化DSH
66.8
这是你的仓库?认领条目