windows和linux中根据端口杀死进程的方法
Windows 系统根据端口号终止进程的方法
命令行工具(CMD/PowerShell)
查找占用端口的进程ID(PID)
- 打开命令提示符(CMD)或 PowerShell:
- 按
Win + R,输入cmd或powershell,按回车。
- 按
- 输入以下命令(以端口号
8080为例):bashnetstat -ano | findstr "8080"- 输出示例:
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1234 - 最后一列
1234即为占用端口的进程PID。
- 输出示例:
- 打开命令提示符(CMD)或 PowerShell:
终止进程
- 使用
taskkill命令强制终止进程:bashtaskkill /F /PID 1234/F表示强制终止。
- 使用
Linux 系统根据端口号终止进程的方法
方法一:使用 lsof 命令
查找占用端口的进程ID(PID)
bashsudo lsof -i :8080- 输出示例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME- 第二列
PID即为目标进程ID。
- 第二列
- 输出示例:
终止进程
- 优先使用默认信号终止(允许进程清理资源):bash
sudo kill <PID> - 若进程无响应,强制终止:bash
sudo kill -9 <PID>
- 优先使用默认信号终止(允许进程清理资源):
方法二:使用 netstat 或 ss 命令
查找PID
- 使用
netstat:bashsudo netstat -tulnp | grep :8080 - 或使用更高效的
ss:bashsudo ss -tulnp | grep :8080 - 输出示例:
tcp LISTEN 0 128 *:8080 *:* users:(("java",pid=1234,fd=45))pid=1234即为进程ID。
- 使用
终止进程
bashsudo kill <PID> # 默认终止 sudo kill -9 <PID> # 强制终止
方法三:直接通过端口号终止进程(无需手动查PID)
- 使用
fuser命令:bashsudo fuser -k 8080/tcp-k表示直接终止占用端口的进程。
注意事项
权限问题:
- Linux 中可能需要
sudo权限才能查看或终止其他用户的进程。 - Windows 中建议以管理员身份运行CMD/PowerShell。
- Linux 中可能需要
强制终止的风险:
kill -9或taskkill /F会立即终止进程,可能导致数据丢失。优先使用默认终止方式。
验证进程是否终止:
- 重新运行查找命令(如
lsof -i :8080),若无输出则表示进程已终止。
- 重新运行查找命令(如