当前位置: 首页 > news >正文

排查某个软件是否安装,某个端口是否占用

开发中经常遇到的检查某个包是否安装或者某个端口是否占用

  1. 检查postgresql 的客户端是否安装使用 which psql && psql --version
  2. 检查是否通过apt 安装了 postgresql 使用which postgres
  3. 检查端口是否被占用
    sudo lsof -i :6379 2>/dev/null || netstat -tlnp 2>/dev/null | grep 6379 || ss -tlnp | grep 6379
    以下对检查端口命令详细解析
    这是一个端口占用检测命令,使用三种工具逐级尝试检查 6379 端口(Redis 默认端口)的监听状态:

命令拆解

sudo lsof -i :6379 2>/dev/null || netstat -tlnp 2>/dev/null | grep 6379 || ss -tlnp | grep 6379
部分 作用
sudo lsof -i :6379 lsof 查看占用 6379 端口的进程
2>/dev/null 隐藏错误输出(如未安装 lsof 或权限不足)
|| 前命令失败时执行后命令(短路或)
netstat -tlnp | grep 6379 netstat 查看 TCP 监听端口
ss -tlnp | grep 6379 ss 查看 TCP 监听端口(现代系统标配)

工具优先级

lsof → netstat → ss
(最详细)   (传统)   (现代/默认)
工具 特点 常见系统
lsof 显示进程名、PID、用户、连接状态 需单独安装
netstat 传统工具,显示监听/连接状态 旧系统/net-tools 包
ss iproute2 套件,替代 netstat,速度更快 Ubuntu 22.04+ 默认

实际输出示例

Redis 运行中(Docker --network host

# ss 输出(最可能执行到此)
LISTEN 0 511 0.0.0.0:6379 0.0.0.0:* users:(("redis-server",pid=1234,fd=6))

端口未占用

# 无输出(三个命令都未匹配到)

权限不足(无 sudo)

# lsof 可能报错,但 2>/dev/null 隐藏,自动降级到 ss

简化版(推荐)

# 现代系统直接用 ss(无需 sudo 查看监听端口)
ss -tlnp | grep 6379# 或查看所有 Redis 相关端口
ss -tlnp | grep redis# 或查看进程名(需 sudo)
sudo ss -tlnp | grep :6379

备注

  1. lsof = List Open Files(列出打开的文件)
  2. ss 的参数说明:
    | 参数 | 全称 | 含义 |
    | ---- | ----------- | --------------------- |
    | -t | tcp | 显示 TCP 套接字 |
    | -l | listening | 仅显示监听状态的套接字 |
    | -n | numeric | 显示数字地址和端口(不解析主机名/服务名) |
    | -p | processes | 显示使用套接字的进程信息 |

http://www.jsqmd.com/news/343040/

相关文章:

  • 花 Opus 的钱买到 Sonnet?一行 Python 代码揭穿 API 服务商的“降本增效”骗局
  • 大数据BI工具的增强分析能力测评
  • 85_Spring AI 干货笔记之 Apache Cassandra 向量存储
  • 2026年2月中国境外券商投行机构推荐:看这5家公司就对了 - Top品牌推荐
  • 深入解析:【MySQL】数据库备份与恢复
  • 苹果 iPhone 14 Pro Max 高质量深度解析|配色外观|核心参数|屏幕与影像|续航充电|官方维修手册|二手验机清单
  • 【毕业设计】基于python+Hadoop的国家气象降雨量大数据分析系统(源码+文档+远程调试,全bao定制等)
  • 苹果 iPhone 15 高质量介绍:参数解析|体验要点|验机清单|维修手册重点
  • ubuntu卸载包
  • 程序员如何从 0 到 1 自己开发一个 AI Agent?
  • 03. PyTorch的使用
  • day76(2.4)——leetcode面试经典150
  • 一个 SpringBoot 项目能处理多少请求?我终于悟了
  • 企业级 Agent 在 K8s 上的运行模型
  • 【计算机毕业设计案例】基于python+Hadoop的国家气象降雨量大数据分析系统基于hadoop的气象数据分析与可视化系统(程序+文档+讲解+定制)
  • SpringCloud从入门到上天:Nacos做微服务注册中心
  • 来自 Nimbus-7 SMMR 和 DMSP SSM/I-SSMIS 被动微波数据的海冰浓度 V002
  • 高校物业维修管理微信小程序的设计和实现
  • MySQL 5.7 转 Oracle 实习生核心注意事项(企业常见场景)
  • D.二分查找-二分答案-求最小——1870. 准时到达的列车最小时速
  • 从入门到精通:Boris Cherny 亲测的 Claude Code 十大高级技巧 + 插件实操(万字详解)
  • 大数据毕设项目推荐-基于hadoop的气象数据分析与可视化系统基于python+Hadoop的国家气象降雨量大数据分析系统【附源码+文档,调试定制服务】
  • axios和jsdom的碰撞
  • 计算机大数据毕设实战-基于python+Hadoop的国家气象降雨量大数据分析系统气象数据可视化平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 8-4 WPS JS宏 new RegExp()、test()、exec()正则表达式的创建与使用
  • 【课程设计/毕业设计】基于大数据的多维度气象数据的可视化分析系统基于python+Hadoop的国家气象降雨量大数据分析系统【附源码、数据库、万字文档】
  • 基于STM32F103驱动QMI8658A输出加速度陀螺仪数据
  • JVM面试必背专题(2026最新版):从基础到高版本,一文吃透所有核心考点
  • 【无人机协同路径规划】基于六种最新优化算法(CCO、TOC、MSO、DOA、GOA、OX)求解多个无人机协同路径规划,可以自定义无人机数量及起始点附Matlab代码
  • 【课程设计/毕业设计】基于Hadoop的某篮球队各个球员数据分析数据可视化系统实现【附源码、数据库、万字文档】