为什么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

相关推荐

  • Linux下如何使用ping命令?网络连通性检测方法详解

    Linux下的ping命令是一个常用的网络诊断工具,基于ICMP(互联网控制报文协议)工作,主要用于测试本地主机与目标主机之间的网络连通性、延迟和丢包情况,通过发送ICMP回显请求报文并接收目标主机的回显应答,用户可以直观了解网络状态,以下是ping命令的详细使用方法和相关技巧,ping命令的基本语法ping命……

    2025年10月4日
    6100
  • linux修改网关如何生效

    Linux 中修改网关后,可通过重启网络服务或直接重启系统使新网关配置生效

    2025年8月16日
    6600
  • Linux下安装rz命令上传文件,lrzsz工具具体安装步骤是什么?

    在Linux系统中,文件传输是日常运维和开发中常见的操作,而rz命令(通过Zmodem协议实现)是用于从本地机器向Linux服务器上传文件的便捷工具,它支持拖拽上传、断点续传(部分终端支持),且操作简单,无需配置FTP/SFTP等服务即可快速完成文件传输,本文将详细介绍Linux下rz命令的安装方法、使用技巧及……

    2025年10月3日
    5600
  • Linux中kill命令执行后无法退出,如何处理?

    在Linux系统中,kill命令是用于向进程发送信号的核心工具,其名称中的“kill”常被误解为仅用于“终止进程”,但实际上它本质上是“向进程发送信号”,而“终止”只是信号的一种结果(如默认的SIGTERM信号),用户提到的“linux如何退出kill”,可能涉及多种场景:误输入kill命令后如何取消执行、ki……

    2025年10月3日
    4500
  • 如何快速启动服务?

    在Linux系统中,“打开数据库”通常指启动数据库服务或连接数据库实例,不同数据库的操作方式各异,以下分场景详细说明,涵盖MySQL、PostgreSQL、SQLite等主流数据库,启动数据库服务(以管理员身份操作)MySQL/MariaDBsudo systemctl start mariadb # 适用于M……

    2025年7月19日
    9300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信