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

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"。

你可能感兴趣的:(ubuntu,ubuntu,linux,运维)