为什么90%的人工作效率低下?

在Linux系统中,查看端口与进程的关联是系统管理、网络调试和安全审计的常见需求,以下是几种权威可靠的方法,均基于Linux原生工具,操作前请确保拥有sudo权限或root用户身份:


使用 ss 命令(推荐)

ss(Socket Statistics)是netstat的现代替代工具,执行效率更高。
查看所有监听端口及进程

sudo ss -tulnp
  • 参数解析
    -t:TCP端口
    -u:UDP端口
    -l:仅显示监听状态(LISTEN)
    -n:以数字形式显示端口(不解析服务名)
    -p:显示关联进程(PID和程序名)
    输出示例

    LISTEN 0  128  0.0.0.0:22  0.0.0.0:*  users:(("sshd",pid=1234,fd=3))

    关键字段:pid=1234为进程ID,"sshd"为进程名。

搜索特定端口(如80)

sudo ss -tulnp | grep ':80'

使用 lsof 命令

lsof(List Open Files)可查看进程打开的文件、目录及网络连接。
查看所有网络连接及进程

sudo lsof -i -P -n
  • 参数解析
    -i:显示网络连接
    -P:禁用端口服务名解析(显示数字端口)
    -n:禁用主机名解析(显示IP地址)
    输出示例

    sshd  1234  root  3u  IPv4  12345  0t0  TCP *:22 (LISTEN)

    关键字段:sshd(进程名)、1234(PID)、:22(端口)。

精确搜索端口(如3306)

sudo lsof -i :3306

使用 netstat 命令(传统工具)

部分旧系统可能未预装ss,可用netstat替代:

sudo netstat -tulnp

参数与ss类似,但执行速度较慢。


通过进程ID反查端口

若已知进程ID(如1234),可反向查找其占用端口:

sudo lsof -p 1234 | grep -i "listen"sudo ss -np | grep 1234

使用 fuser 命令

直接通过端口号定位进程:

sudo fuser 80/tcp

输出示例:

80/tcp:  1234  5678

显示占用TCP 80端口的进程ID(1234和5678)。


结合 ps 命令获取进程详情

获得PID后,用ps查看进程详细信息:

ps aux | grep 1234

输出示例:

root  1234  0.0  0.5  12345  6789  ?  Ss  Jan01  0:00 /usr/sbin/sshd -D

最佳实践建议

  • 首选工具:日常使用ss(高效)或lsof(功能全面)。
  • 安全场景:结合sudo确保获取完整信息,避免权限遗漏。
  • 自动化脚本:推荐sslsof,输出格式更规范。
  • 端口冲突排查:用fuser [端口]/tcp快速终止进程:
    sudo fuser -k 80/tcp  # 强制结束占用80端口的进程

常见问题

Q1:为何命令输出无进程名?
→ 可能缺少sudo权限,部分系统进程信息需root查看。

Q2:工具未安装怎么办?

  • 安装ss/lsof
    sudo apt install iproute2 lsof  # Debian/Ubuntu
    sudo yum install iproute lsof   # CentOS/RHEL

Q3:如何查看UDP端口?
→ 命令中显式指定-u参数(如ss -ulnp)。


引用说明 基于Linux内核文档(kernel.org)及工具官方手册:

  • ssman ss
  • lsofman lsof
  • netstatman netstat
    操作示例已在Ubuntu 22.04/CentOS 7+验证,符合Linux标准规范(POSIX)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6609.html

(0)
酷番叔酷番叔
上一篇 2025年7月8日 01:44
下一篇 2025年7月8日 02:00

相关推荐

  • 移除MySQL核心包会引发什么后果?

    在Linux上卸载MySQL数据库实例需要谨慎操作,避免残留文件影响后续安装或占用资源,以下是详细步骤,适用于主流发行版(Ubuntu/Debian/CentOS/RHEL),操作前务必备份重要数据:准备工作备份数据(防止误删)使用mysqldump备份所有数据库:mysqldump -u root -p……

    1天前
    300
  • 为什么你的Ubuntu/Debian系统卡顿?彻底解决!

    确认软件具体指代常见可能性Autodesk Revit 2022 (R12):Windows专属软件,无法直接在Linux运行,需通过虚拟机或Wine兼容层(不推荐,性能差),R语言v12.x:R语言通常以3.x/4.x版本命名,无v12版,若需安装R语言,见第三节,自定义/冷门工具:如r12是私有软件,需提供……

    2025年6月13日
    1200
  • Linux字体安装难?如何提升设计专业性?

    准备工作获取字体文件从可信来源下载字体(如Google Fonts、Font Squirrel),常见格式:.ttf(TrueType)、.otf(OpenType),解压字体包(如为压缩文件)unzip fonts.zip -d ~/Downloads/fonts # 示例路径安装方法方法1:用户级安装(仅当……

    2025年6月16日
    1400
  • 底层驱动交互核心方法哪三种?

    在Linux系统中,Qt应用程序操作底层驱动函数的核心原理是通过用户空间与内核空间的交互实现的,由于Qt本身是用户空间框架,无法直接访问内核驱动,因此需借助Linux提供的标准化接口,以下是具体实现方法和关键技术:设备文件操作(/dev目录)Linux将硬件设备抽象为文件(如 /dev/ttyS0、/dev/i……

    2025年7月6日
    1200
  • 如何用软连接快速映射目录?

    在Linux系统中,软连接(Symbolic Link)是一种特殊的文件类型,它像“快捷方式”一样指向另一个文件或目录,通过软连接映射目录,你可以让多个位置访问同一目录内容,无需复制数据,节省空间并简化管理,以下是详细操作指南:命令格式:ln -s <源目录绝对路径> <软连接名称>参数……

    2025年6月13日
    1300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信