杀端口要区分服务端与客户端连接

**`lsof -ti:PORT | xargs kill -9` 会同时杀掉监听该端口的服务端进程和连到该端口的客户端进程(浏览器渲染进程),要先用 `lsof -i:PORT` 看清 COMMAND 再挑着杀。**

一、踩的坑

清理 3456 端口时,lsof -ti:3456 返回的列表里除了 next-server,还混着 Chrome 的渲染进程(它们只是连接到 3456 的客户端,不是服务端)。一把 xargs kill -9 把整个列表都杀了。

二、影响与恢复

浏览器主进程(另一个 PID、已运行数天、13 个子进程)没有被误杀,被杀的只是渲染进程与 3456 的 socket 连接,Chrome 会自动重建连接。所以这次是虚惊,但同样的手法用在别的端口上完全可能真的关掉用户的东西。

三、正确做法

lsof -i:3456          # 先看 COMMAND / PID / 连接方向
kill <next-server 的 PID>   # 只杀服务进程

-t 只输出 PID,丢掉了判断依据;排查端口占用时不要用它一把梭。

相关