Linux中查看占用端口号的进程信息的方法

在 Linux 中查看占用 ** 端口(eg:1717)**的进程号(PID),可以通过以下命令实现:


方法 1:使用 netstat 命令

sudo netstat -tulnp | grep ':1717'
  • 参数解释
    • -t:查看 TCP 端口。
    • -u:查看 UDP 端口。
    • -l:仅显示监听中的端口。
    • -n:以数字形式显示端口(不解析服务名称)。
    • -p:显示进程信息(需要 sudo 权限)。
  • 输出示例
    tcp6   0   0 :::1717    :::*    LISTEN    1234/your_process
    
    • 最后一列的 1234 即为进程 PID。

方法 2:使用 lsof 命令

sudo lsof -i :1717
  • 参数解释
    • -i :1717:指定查看 1717 端口。
  • 输出示例
    COMMAND   PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
    your_pro 1234  root    3u  IPv4 1234567      0t0  TCP *:1717 (LISTEN)
    
    • PID 列为进程号(此处为 1234)。

方法 3:使用 ss 命令(推荐,替代 netstat

sudo ss -ltnp | grep ':1717'
  • 参数解释
    • -l:仅显示监听中的端口。
    • -t:查看 TCP 端口。
    • -n:以数字形式显示。
    • -p:显示进程信息。
  • 输出示例
    LISTEN 0   128   *:1717   *:*   users:(("your_process",pid=1234,fd=3))
    
    • pid=1234 直接标出进程号。

注意事项

  1. 权限问题
    • 若未使用 sudo,可能无法看到所有进程信息。
  2. 端口状态
    • 如果无输出,表示当前无进程占用 1717 端口。
  3. 服务类型
    • 确认端口是 TCP 还是 UDP(默认为 TCP,若需 UDP 可将 -t 替换为 -u)。

总结

命令 特点 输出关键信息
netstat -tulnp 传统工具,兼容性强 PID/进程名
lsof -i :1717 直接定位端口,信息简洁 PID
ss -ltnp 更高效,推荐新系统使用 pid=1234

直接运行任一命令即可快速找到占用 1717 端口的进程号!

猜你喜欢

转载自blog.csdn.net/u013954557/article/details/147055159
今日推荐