如何查看Linux服务器上的服务?有哪些常用命令?

查看Linux服务器上有哪些服务,核心就三条路:systemctl看服务单元、ps看进程、ss/netstat看端口监听。分别对应“装了什么、正在跑什么、对外开了什么”,三者交叉验证才能还原完整服务全景,下文按实操优先级逐步拆解。

先搞清一个误区:服务≠进程≠端口

很多新手把ps -ef列出来的几十行当成全部服务,这是常见的理解偏差,服务是系统通过systemd或init管理的单元,具备开机自启、依赖关系、重启策略等属性,进程是服务运行后产生的实际执行实体,端口则是进程对外通信的入口,一个服务可能对应多个进程,一个进程也可能监听多个端口,而有些进程根本没监听任何端口只做内部计算,所以linux服务器查看服务命令要按视角分开看,下面逐个说明。

linux服务器查看服务命令有哪些?常用三条路径

用systemctl精确枚举服务单元

现代主流发行版(CentOS 7+、Ubuntu 16+、Debian 8+)都用systemd管理服务,这是最权威的查看入口。

  • 查看正在运行的服务:systemctl list-units --type=service --state=running
  • 查看所有已加载的服务(含未运行):systemctl list-units --type=service --all
  • 查看所有服务单元文件(含被禁用、静态的):systemctl list-unit-files --type=service

输出中loaded表示单元已加载,active running表示服务正在运行,enabled表示开机自启,实操时先跑第一条,立刻能看到当前活跃服务清单,比慢慢翻ps输出直观得多,想看某个服务细节,直接systemctl status 服务名,能同时拿到主进程PID、最近日志、内存占用、监听地址等信息,省去手动拼接多个命令。

用ps从进程视角反向发现服务

systemctl只能看到受systemd托管的服务,某些老程序、临时启动的脚本、编译安装的守护进程不在其中,这时ps就派上用场。

  • 全量进程:ps -ef
  • 带资源占用:ps aux --sort=-%mem
  • 按关键词过滤:ps -ef | grep java 或 pgrep -a java

判断一个进程是不是服务,看它的父进程,PID为1的进程叫systemd,所有正常初始化的服务子进程都挂在它下面进程树里如果看到一个常驻进程的父PID是1,基本可以判定它是被systemd拉起的服务,如果父进程PID是其他值,可能是被命令行手动启动的一次性任务或子进程,配合pstree -p查看进程树,能快速理清服务间的父子依赖关系。

用ss结合netstat确认端口归属

系统跑着服务,但看不到监听端口,通常配置或网络隔离有问题,反之,有端口监听却查不到服务,可能是非托管进程或容器映射,端口审计必须单独做。

如何查看Linux服务器上的服务?有哪些常用命令?

  • 查看所有监听端口:ss -tlnp
  • 只看TCP监听:ss -tln
  • 只看UDP监听:ss -uln
  • 老系统用:netstat -tlnp

ss输出比netstat更简洁,且不依赖net-tools包。-p参数能把进程名和PID一并列出来,实践中最常用,若发现端口被-p显示为,说明当前用户无权查看进程信息,需要sudo重试,想确认某个端口归属,直接lsof -i:8080或ss -tlnp | grep 8080。

服务自启状态怎么查

服务正在跑不代表重启后还会跑,需要配合开机自启状态判断。

  • 查看所有服务的自启设置:systemctl list-unit-files --type=service | grep enabled
  • 查看单个服务自启状态:systemctl is-enabled 服务名
  • 临时关闭服务但保留自启:systemctl stop 服务名
  • 永久关闭:systemctl disable --now 服务名

行业共识认为,运维巡检时应把“运行中”和“自启动”分开审计,因为很多安全事件就发生在服务未运行但自启状态仍旧保留的情况下,下次重启自动拉起,入侵痕迹就藏在这条缝隙中。

systemctl和service命令对比,怎么选

老系统管理员习惯次用service或chkconfig,这两个在SysV时代是主力,新系统上service虽然还可用,但只是个转发壳,实际调用systemctl逻辑,查看信息不完整,对比表格如下:

对比项 systemctl service/chkconfig
适用系统 CentOS 7+、Ubuntu 16+ CentOS 6、Debian 7及更早
查看运行状态 支持,信息全面 仅返回简单状态
查看自启配置 支持enabled/disabled/static chkconfig –list查看
列出全部服务 支持list-unit-files 不支持
查看依赖关系 支持 不支持
统一管理接口 同时启动/停止/重载 仅启动/停止

业内专家指出,还在生产环境用CentOS 6的单位,应当优先考虑迁移,毕竟SysV时代连服务的崩溃自动恢复能力都是缺席的,如果必须在老系统上排查,用service --status-all能看到所有SysV服务状态,但粒度很粗,只能区分“运行中”和“已停止”。

linux服务器怎么查看端口占用和开放端口,实战组合拳

新部署的Web应用起不来

先跑systemctl status 应用名看日志,再跑ss -tlnp | grep 端口号确认监听是否生效,如果应用配置监听8080,但ss输出显示8080已被其他进程占用,用

如何查看Linux服务器上的服务?有哪些常用命令?

lsof -i:8080直接查出占用进程PID,再ps -fp PID确认身份,多数情况下这是端口冲突,解决思路是改应用端口或者停掉旧进程,不是硬杀PID了事。

怀疑服务器被植入隐藏服务

安全审计时,优先核对开放端口与预期业务端口清单的差异,跑完ss -tlnp后,把所有监听端口整理成列表,逐一确认归属业务,对不上号的端口用ss -tlnp | awk '{print $7}' | sort -u提取进程信息批量排查,对外暴露的端口越少面越小,这里遵循最小化原则。

容器环境下的服务定位

Docker容器内部跑的服务,宿主机的systemctl查不到单元,但ss -tlnp能看到进程信息,容器进程通常在宿主机上以docker-proxy或containerd-shim形态存在,排查流程:ss -tlnp看到监听端口 → 进程名指向docker-proxy → docker ps按端口映射反查容器 → docker logs看容器内服务日志,记住这条链路,排查容器化服务能少走弯路。

服务运行等级和状态枚举

systemd定义了几种关键状态,理解它们有助于快速判断服务健康度:

  • active (running):主要进程在运行,正常态
  • active (exited):一次性服务任务完成,进程退出,但服务状态保留
  • active (waiting):进程常驻,但正在等待事件触发
  • inactive (dead):服务未运行
  • failed:启动过程出错,需要看journal日志

看到failed不要盲目restart,先journalctl -u 服务名 --no-pager | tail -50看清失败原因,修复配置后再启动,否则会陷入restart循环的坑。

服务日志怎么关联服务状态

排查服务时,命令输出只能告诉你“服务当时是什么状态”,日志才能回答“为什么变到这个状态”,systemd在主流发行版上接管了日志收集,统一用journalctl查询:

  • 查单个服务日志:journalctl -u 服务名
  • 查看最近50行:journalctl -u 服务名 -n 50
  • 实时跟踪:journalctl -u 服务名 -f
  • 找错误级别日志:journalctl -u 服务名 -p err

普通应用的日志文件还在/var/log/下,常见的有/var/log/messages(系统全局日志,CentOS的老传统)、/var/log/syslog(Debian系)、/var/log/nginx/access.log(Web访问日志),日志文件时常被logrotate轮转,排查历史问题时留意一下压缩包归档,别只看当前文件。

服务自启管理的完整操作路径

从查看状态到管理状态,完整路径如下:

  1. 枚举服务:systemctl list-unit-files --type=service得到全量清单
  2. 过滤自启项:

    如何查看Linux服务器上的服务?有哪些常用命令?

    systemctl list-unit-files --type=service | grep enabled

  3. 交叉核对进程:ps -ef | grep 服务名
  4. 核对端口:ss -tlnp | grep 服务名或ss -tlnp | grep PID
  5. 检查日志:journalctl -u 服务名 --no-pager
  6. 停用异常服务:systemctl disable --now 服务名
  7. 重载配置:systemctl daemon-reload(改过unit文件后必须执行)

这套流程既能在日常巡检中快速摸底,也能在可疑行为出现时做深度取证,没有多余操作,每条命令都指向明确事实。

一台服务器上常见服务类型速查

结合多年运维场景,多数Linux服务器上的服务大致分为以下几类,知道它们长什么样,排查时能先画个轮廓:

  • Web服务:nginx、httpd、apache2,监听80/443
  • 数据库服务:mysqld、mariadb、postgresql、redis-server,监听3306/5432/6379
  • 容器相关:docker、containerd、kubelet,监听2375/10250(注意2375别裸奔到公网)
  • 远程管理:sshd,监听22
  • 定时任务:crond、atd,一般不监听端口
  • 日志采集:rsyslog、filebeat、logstash,端口取决于配置
  • 监控类:node_exporter、zabbix_agentd,监听9100/10050
  • 消息队列:rabbitmq、kafka,监听5672/9092

熟悉这份清单,实施排查时能迅速判断陌生服务是常见组件还是可疑程序,再决定是继续追查还是直接封禁。

Q&A:linux服务器服务查看常见问题

systemctl查不到服务但进程存在,可能是什么原因?

三种常见情况:服务以独立脚本方式启动,没有编写systemd单元文件;服务运行在容器或虚拟化隔离环境中,宿主机systemctl不感知;服务由supervisor或pm2等第三方守护工具拉起,用ps -ef查父进程即可区分,若父进程是PID 1但systemctl无单元,多半是脚本直接托管;父进程是node或python,则是被上层工具拉起。

怎么看一个端口有没有对外开放?

先ss -tln确认监听状态,重点看Local Address列,监听0.0.0或表示绑定所有网卡,公网卡激活时就等于对外暴露,监听0.0.1表示只本机可访问,想更严谨,在服务器外或安全组放行后用telnet 服务器IP 端口做连通性测试,结果以外部视角为准,防止被本机防火墙策略干扰判断。

服务状态显示active (exited)是不是坏事?

不一定是。active (exited)代表服务主体任务已经完成,进程退场,但服务保持托管状态,常见的cron、dbus等一次性任务服务都会这样,属正常现象,关键判断依据是业务是否依赖常驻进程,如果预期该常驻进程却不在了,优先排查崩溃原因,用journalctl -u 服务名 -n 50看退出码和报错信息,结合日志下结论。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/736661.html

赞 (0)
javaee高并发服务器有哪些,哪个性能最好?
上一篇 2026年10月11日 17:18
服务器有万兆网口吗,服务器万兆网卡和千兆有什么区别
下一篇 2026年2月21日 02:55

相关推荐

  • 广州DDos高防ip怎么选?高防IP价格与防护效果解析

    广州DDos高防ip是保障企业业务连续性的核心防线,其核心价值在于通过高带宽储备与智能清洗技术,将恶意流量拒之门外,确保源站安全稳定运行,面对日益复杂的网络攻击环境,企业必须构建“防御+加速+合规”三位一体的安全体系,而非单纯依赖本地硬件防火墙, 攻击常态化下的生存法则:为何必须部署高防IP当前网络攻击呈现组织……

    2026年3月31日
    11000
  • 广州专业通道人脸识别系统推荐,哪家性价比高?

    在广州寻求高效、稳定的出入口控制方案,核心结论在于选择具备独立算法优化能力、能适应本地复杂气候环境且支持定制化对接的人脸识别系统,真正专业的通道人脸识别系统,不仅仅是识别身份的工具,更是企业安防管理与数字化考勤的枢纽,其核心价值在于“识别速度、抗环境干扰能力以及系统集成的开放性”, 针对广州高温高湿、光线多变的……

    2026年3月29日
    9100
  • 广安智慧人脸门禁考勤系统怎么样?广安人脸门禁系统哪家好

    广安地区企业正在经历一场深刻的数字化转型,而广安智慧人脸门禁考勤系统的应用,正是这场变革中最直观、最高效的切入点,该系统不仅彻底解决了传统考勤方式中代打卡、统计繁琐、数据滞后等顽疾,更通过生物识别技术与大数据管理的深度融合,将企业的安全管理与人事效率提升至全新高度,对于追求精细化管理的企业而言,部署一套成熟的人……

    2026年4月2日
    10400
  • WPForms插件怎么下载安装?免费版和付费版区别

    WPForms是目前WordPress生态中最易上手且功能强大的表单构建插件,通过其可视化拖拽界面,用户无需编写代码即可在几分钟内创建专业级联系表单、支付表单及调查表,免费版已满足绝大多数基础需求,而付费版则解锁了高级逻辑与集成能力,WPForms插件核心优势与版本差异解析在WordPress建站领域,表单插件……

    2026年6月25日
    1810
  • 服务器带宽不够用?如何低成本快速扩容?

    面对服务器带宽跑满、网站访问卡顿甚至服务宕机的紧急情况,最直接有效的核心解决方案是:立即实施“CDN内容分发网络加速”与“智能流量清洗”组合策略,辅以服务器层面的深度优化,而非盲目升级带宽硬件配置,这一策略能以最低的成本实现带宽负载的断崖式下降,同时提升用户访问体验,盲目扩容硬件带宽往往是治标不治本,且成本高昂……

    2026年3月4日
    10900
  • 如何把域名跳转到另一个网站?域名跳转详细步骤教程

    域名跳转到另一个网站的本质是配置301重定向或修改DNS解析记录,实操方式取决于你是要整站迁移还是单页面转发,以及服务器环境,域名跳转的核心逻辑:先分清“解析”和“重定向”很多人在操作时容易混淆概念,域名跳转其实分两个层面:DNS解析层面和Web服务器层面,前者解决“访问这个域名该找哪台服务器”,后者解决“找到……

    2026年9月2日
    600
  • phpMyAdmin导入MySQL数据库报错怎么办?phpMyAdmin导入数据库教程

    使用phpMyAdmin导入MySQL数据库的核心步骤是:登录后台,选择目标数据库,点击“导入”选项卡,上传.sql文件并确认设置后执行即可,对于许多刚接触网站运维或数据库管理的新手来说,面对黑漆漆的代码界面往往感到无从下手,phpMyAdmin作为全球最流行的MySQL数据库管理工具之一,凭借其图形化界面极大……

    2026年6月23日
    3100
  • 广州千兆带宽服务器一年租用开销是怎么算的,多少钱?

    在广州租用一台千兆带宽服务器,一年开销通常在1.5万元到8万元之间,具体金额由带宽类型、硬件配置和机房等级三个核心变量决定,独享带宽加高防是拉高预算的主要因素,直接成本拆解:算清楚这笔账要算清广州服务器租用一年价格,不能只看月付打广告的数字,我把成本拆成三个桶,每个桶里装满真金白银的选择项,带宽成本:千兆的水龙……

    2026年8月11日
    1900
  • 家用微信服务器有哪些好用,便宜又稳定的选哪款?

    家用微信服务器并没有官方成品可选,行业通行做法是用一台低功耗硬件(如树莓派、旧笔记本、NAS)配合开源框架自行搭建,或者直接租用轻量云服务器, 至于选哪条路,完全取决于你想让它干什么——管群、跑机器人、当小程序后端,还是纯粹备份聊天记录,这几种场景的配置要求和使用逻辑完全不同,家用微信服务器怎么选:先明确你的核……

    2026年10月10日
    000
  • 专线宽带费用组成有哪些?专线宽带一年多少钱

    专线宽带的最终成交价并非单一数字,而是由一次性接入费用、周期性线路租赁费、设备购置费以及隐性运维成本共同构成的复杂体系,企业若想精准控制预算,必须穿透运营商的报价单表象,抓住“线路质量等级”与“本地资源接入距离”这两个核心变量,这直接决定了成本的基准线,真正决定企业是否“被坑”的关键,在于是否为不必要的带宽溢价……

    2026年3月4日
    14700

发表回复

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