跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

统信UOS怎么查看端口占用_统信UOS netstat查看监听端口教程【技巧】

统信UOS中查看监听端口及关联进程有五种方法:一、netstat命令(需安装net-tools);二、ss命令(UOS原生支持,推荐替代netstat);三、lsof命令(精准定位进程路径与用户);四、系统监视器图形化界面;五、nmcli/nmtui结合systemd验证服务端口绑定。

如果您在统信UOS系统中需要确认某个端口是否被占用、由哪个进程监听,或排查服务启动失败原因,则需直接查看当前系统中所有监听状态的网络端口及其关联进程。以下是多种可靠且互为补充的查看方法:

一、使用netstat命令查看监听端口

netstat是传统网络状态查看工具,可列出所有处于LISTEN状态的TCP/UDP端口,并显示对应进程ID(PID)与程序名称,适用于已安装net-tools包的系统环境。

1、按下Ctrl + Alt + T打开终端。

2、执行命令:

sudo netstat -tuln,查看全部监听中的TCP和UDP端口(-t表示TCP,-u表示UDP,-l表示仅显示监听状态,-n表示以数字形式显示地址和端口)。

3、若需筛选特定端口(如8080),执行:

sudo netstat -tuln | grep :8080。

4、若希望同时显示进程名,需添加-p参数并提权:

sudo netstat -tulnp;注意该操作要求用户具备sudo权限,且部分精简版UOS可能默认未安装net-tools。

二、使用ss命令替代netstat查看端口

ss(socket statistics)是现代Linux系统推荐的netstat替代命令,性能更高、输出更简洁,且UOS原生支持,无需额外安装。

1、打开终端。

2、执行命令:

sudo ss -tuln,功能与netstat -tuln完全一致,但响应更快、资源占用更低。

3、查找指定端口(如3306):

sudo ss -tuln | grep :3306。

4、显示进程信息时使用:

sudo ss -tulnp;输出中“Process”列将明确标注PID与进程名(如mysql、nginx)。

三、使用lsof命令按端口反查进程

lsof(list open files)将网络端口视为“打开的文件”,能精准定位占用某端口的完整进程路径与用户,尤其适合调试冲突或权限类问题。

1、在终端中输入:

sudo lsof -i :80,即可列出所有使用80端口的进程详情,含PID、用户、命令、类型及状态。

2、若需查看所有监听端口及其进程:

sudo lsof -i -sTCP:LISTEN。

3、为提升可读性,可配合排序与列裁剪:

sudo lsof -i -sTCP:LISTEN -P -n | awk '{print $1,$2,$9}' | sort -u,仅输出命令名、PID与端口信息。

四、通过系统监视器图形化查看端口关联进程

系统监视器提供可视化界面,可结合进程列表与网络活动进行交叉验证,特别适合不熟悉命令行的新用户或需快速终止异常进程的场景。

1、按下Ctrl + Shift + Esc快捷键,直接启动系统监视器。

2、切换至“进程”页签,在顶部搜索框中输入关键字(如“python”、“java”、“node”)缩小范围。

3、右键单击疑似占用端口的进程,选择“属性”,在弹出窗口中查看“命令行”字段——其中常包含绑定端口的参数(如--port=8080、-p 5432)。

4、若需确认该进程是否确实在监听网络连接,可切换至“资源”页签,观察“网络 I/O”图表是否有持续活动,并结合“打开的文件”子标签筛选IP套接字项。

五、使用nmcli或nmtui辅助验证服务端口绑定

NetworkManager本身不管理应用层端口,但可通过其接口间接验证服务是否通过标准方式注册了网络能力,尤其适用于systemd托管服务(如apache2、postgresql)。

1、执行:

sudo nmcli device show,确认网络设备处于connected状态,排除底层链路问题。

2、对已知服务(如MySQL),检查其systemd单元是否启用并运行:systemctl is-active mysql与systemctl show mysql --property=ListenStream(若配置了socket激活)。

3、若服务采用socket激活机制,可查看其监听套接字:

sudo systemctl list-sockets | grep -E "(80|443|3306)",输出将显示对应服务名与绑定地址。

相关文章