Ubuntu 查看某一端口中正在运行的程序

发布时间:2024年01月12日

0.前言?

由于开发过程中经常遇到某些端口被占用,导致运行程序的时候还得很麻烦的修改程序的配置文件,为了节省这不必要的 麻烦还是直接把占用端口的程序找出来然后终止掉为好。在使用ubuntu中运行django项目的时候系统就总是显示8000端口被占用,而在github中大部分有关django的项目运行时默认使用与8000端口,这在多次测试项目的过程中都浪费了些许时间。后来经过测试才发现是snapd 这个程序占用了8000端口。

1.netstat?

使用 netstat 命令

# 使用 netstat 命令

netstat -tulpn | grep 80

netstat -tulpn | grep 80?命令用于列出所有正在监听 80 端口的进程。

  • netstat?命令用于显示网络连接、网络接口和路由表信息。
  • -t?选项用于仅显示 TCP 连接。
  • -u?选项用于仅显示 UDP 连接。
  • -l?选项用于仅显示正在监听的连接。
  • -p?选项用于显示进程 ID 和进程名称。
  • -n?选项用于以数字形式显示地址和端口号。
  • grep 80?命令用于过滤输出,只显示包含字符串 "80" 的行。

因此,netstat -tulpn | grep 80?命令将显示所有正在监听 80 端口的 TCP 和 UDP 连接,并显示这些连接对应的进程 ID 和进程名称。

80 端口通常用于 HTTP 服务,因此该命令通常用于查找正在运行的 Web 服务器。

例如,如果在终端中运行?netstat -tulpn | grep 80?命令,可能会看到以下输出:

2.ss?

# 使用 ss 命令

ss -tulpn | grep 6379

命令将显示所有正在监听 6379 端口的 TCP 和 UDP 连接,并显示这些连接对应的进程 ID 和进程名称。

6379 端口通常用于 Redis 服务,因此该命令通常用于查找正在运行的 Redis 服务器。

例如,如果在终端中运行?ss -tulpn | grep 6379?命令,可能会看到以下输出:

这表示有一个进程(进程 ID 为 415532)正在监听 6379 端口,该进程的名称是?redis-server。这意味着有一台 Redis 服务器正在运行,并且正在监听来自 6379 端口的连接。

3.lsof

# 使用 lsof 命令

sudo lsof -i :6379

sudo lsof -i :6379?命令用于列出所有正在监听 6379 端口的进程。

  • sudo?命令用于以超级用户身份运行?lsof?命令。
  • lsof?命令用于显示打开的文件列表。
  • -i?选项用于仅显示网络连接。
  • :6379?指定要查找的端口号。

因此,sudo lsof -i :6379?命令将显示所有正在监听 6379 端口的进程及其打开的文件。

例如,如果在终端中运行?sudo lsof -i :6379?命令,可能会看到以下输出:

COMMAND     PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
redis-ser 1234 redis  4u  IPv4 0xe4bb6cdf7cc0      0t0  TCP *:6379 (LISTEN)

这表示有一个进程(进程 ID 为 1234,用户名为?redis)正在监听 6379 端口,该进程的名称是?redis-server

如果未找到任何结果,则表示没有进程正在监听 6379 端口。这可能意味着 Redis 服务器未运行,或者正在监听其他端口。

您还可以使用以下命令来检查 Redis 服务器是否正在运行:

redis-cli ping

如果 Redis 服务器正在运行,该命令将输出 "PONG"。

文章来源:https://blog.csdn.net/qq_63553317/article/details/135469416
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。