查看进程和端口号

在 Linux 系统中,ps -ef 命令主要用于查看进程信息(如 PID、用户、CPU 占用等),但无法直接显示端口号。若需查看进程关联的端口号,需结合其他命令(如 netstatlsofss)。以下是具体方法:


1. 查看进程信息(ps -ef

ps -ef | grep 进程名
  • 功能:列出所有进程,并通过 grep 过滤目标进程(如 nginxjava)。
  • 输出字段
    • UID:运行进程的用户
    • PID:进程 ID
    • PPID:父进程 ID
    • CMD:启动命令(含参数)

2. 通过进程 PID 查找端口号

方法一:使用 netstatss

netstat -tulnp | grep PID
# 或(更现代的替代方案)
ss -tulnp | grep PID
  • 参数说明
    • -t:TCP 协议
    • -u:UDP 协议
    • -l:仅显示监听端口
    • -n:显示数字格式(不解析服务名)
    • -p:显示关联进程 PID 和名称

方法二:使用 lsof

lsof -i -P -n | grep PID
# 或直接查端口
lsof -i :端口号
  • 参数说明
    • -i:显示网络连接
    • -P:禁用端口号转服务名(如显示 80 而非 http
    • -n:禁用 IP 转主机名

3. 直接查找监听端口的进程

若已知端口号(如 8080),可直接运行:

netstat -tulnp | grep :8080
# 或
lsof -i :8080
  • 输出示例
    tcp6   0   0 :::8080    :::*    LISTEN    1234/java
    
    表示 PID 1234 的 Java 进程正在监听 8080 端口

4. 常见问题

  • ps -ef 不显示端口号:需通过 netstat/lsof 等网络工具关联 PID 查询。
  • 权限不足:部分命令需 sudo 执行(如 lsof -i 需要 root 权限查看所有进程)。

总结步骤:

  1. ps -ef | grep 进程名 获取目标 PID。
  2. netstat -tulnp | grep PIDlsof -i -P -n | grep PID 查找端口号。
  3. 或直接通过端口号反查进程:lsof -i :端口号
posted @ 2025-05-07 11:02  惜阳茕影  阅读(510)  评论(0)    收藏  举报