Linux怎么查看端口占用情况? lsof命令快速查找端口占用进程

那天我解除服务器后,发现旧的调度程序服务突然接管了8 09 0端口,导致新部署的应用程序无法启动。
快速打开终端并记住使用 lsof stop。

CentOS系统,输入sudo lsof -i:8 09 0,屏幕上立即列出休眠的节点进程。
命令行是一个非常老的朋友,如果不使用它就会变得无聊。
进程名旁边有PID 5 4 3 2 1 ,所以我知道问题出在哪里。

我翻了一下系统日志,发现Python写了一些脚本来清理缓存,但是端口配置是硬编码的。
去年写这篇文章时忘记添加表格,现在很难更改。
您应该将端口更改为随机生成的端口,或者至少添加一个配置环境变量。

我突然想到,如果我当时用的是Docker容器,现在看容器的日志是不是就能找到呢?但包含编排的工具必须学习一组新的操作。
等等,还有别的事。
该进程暂停了两天,负载率没有明显变化。
Linux 的隐藏特性有时确实令人伤痕累累。

我得赶快把脚本改回来,顺便更新一下lsof的笔记。
用户总说运维要像侦探一样。
看来确实需要培养一些观察能力。

linux怎么样查看端口占用情况

哦,其实我之前在Linux系统上检查端口占用状态时也遇到过这个问题。
上周有客户问我如何查看2 2 端口是否被占用。
当时我就教他这两个方法。

首先,我们讨论第一种方法,使用 lsof -i 端口号。
这个命令非常有用,特别是当你需要详细了解某个特定端口被哪个进程占用时。
记得有一次帮同事排查问题,用这个命令找到了一个占用2 2 端口的进程,结果发现同事的SSH服务没有关闭。

该命令的使用方法如下。
例如,如果要检查端口 2 2 ,请键入 lsof -i:2 2 接下来,进程名、进程ID、用户名等很多信息都会列出来。
一旦知道了相应的端口号,就可以找出哪个进程正在占用该端口。

再说第二种方法,netstat -tunlp | grep 端口号。
该命令比较简单,适合快速检查是否有进程在使用特定端口。
我记得有一次发现我的服务器上的特定端口有异常情况,并使用此命令快速识别哪个进程占用了该端口。

只需在命令后添加您要检查的端口号(例如 netstat -tunlp | )。
运行 grep 2 2 将列出与端口 2 2 相关的所有信息,包括进程 ID 和程序名称。

总的来说,这两种方法都非常实用。
lsof提供了更详细的信息,适合详细分析。
另一方面,netstat更加直观,适合快速搜索。
无论如何,这取决于你,使用哪个更方便。
我仍在思考这两种方法之间有什么区别,以及何时使用其中一种更好(笑)。

linux怎么查看程序占用哪个端口号

netstat-tuln|grep<进程名称或PID> lsof-i:<端口号> ss-tuln|grep<进程名或PID>
直接使用ss比较简单,兼容性好。
使用ps查看PID,然后使用ss查看端口。