如何使用 systemctl 命令?

在Linux系统中,服务(Service)是后台运行的守护进程,负责处理关键任务(如网络、安全、数据库等),掌握查看服务的方法对系统管理、故障排查和性能优化至关重要,以下是多种专业且实用的查看方式,适用于主流的Linux发行版(如Ubuntu、CentOS、Fedora)。
适用场景:现代Linux系统(Systemd系统,如Ubuntu 16.04+、CentOS 7+)。
步骤

  1. 查看所有服务状态

    systemctl list-units --type=service --all
    • --all:显示包括未激活的服务。
    • 输出列说明:LOAD(配置加载状态)、ACTIVE(运行状态)、SUB(详细状态)、DESCRIPTION(服务描述)。
  2. 查看单个服务详情

    systemctl status apache2.service  # 替换为你的服务名(如nginx、mysql)

    关键信息:运行状态(Active)、日志片段(Latest logs)、进程ID(Main PID)。

  3. 过滤服务状态

    systemctl list-units --type=service --state=running  # 仅显示运行中的服务

通过 service 命令(传统SysVinit系统)

适用场景:旧版系统(如CentOS 6)或兼容性操作。
步骤

service --status-all  # 列出所有服务状态
  • [ + ]:服务正在运行;[ - ]:服务已停止;[ ? ]:状态未知。
  • 查看具体服务:
    service nginx status  # 示例

通过 ps 命令查看服务进程

适用场景:确认服务是否在进程层级运行。
步骤

ps aux | grep -E 'nginx|mysql|httpd'  # 替换为服务名关键词
  • 关键列:USER(运行用户)、%CPU(CPU占用)、COMMAND(进程命令)。
  • 组合命令:
    ps -ef | grep -i "cron"  # 不区分大小写搜索cron服务

通过 netstat/ss 命令查看服务端口

适用场景:确认服务是否监听端口(如Web服务、数据库)。
步骤

  1. 使用 netstat

    netstat -tulpn | grep ':80'  # 查看80端口占用服务
    • -t(TCP)、-u(UDP)、-l(监听状态)、-p(显示进程名)。
  2. 使用 ss(更高效)

    ss -ltnp | grep sshd  # 查看SSH服务监听端口

通过 /etc/init.d/ 目录(SysVinit脚本)

适用场景:直接操作服务脚本(适用于无 systemctl 的系统)。
步骤

ls /etc/init.d/         # 列出所有服务脚本
/etc/init.d/nginx status  # 查看状态

图形化工具(可选)

  1. systemd-cgls
    systemd-cgls  # 以树形结构显示服务层级
  2. Cockpit Web控制台
    • 安装后通过浏览器访问 http://localhost:9090,在”Services”模块管理服务。

总结与建议

方法 适用场景 优势
systemctl 现代Linux系统(主流选择) 信息详细,支持状态过滤
service 旧版系统或兼容操作 命令简洁
ps + grep 确认进程是否存在 直接关联资源占用
ss/netstat 验证网络服务端口 快速定位网络问题

最佳实践

  • 优先使用 systemctl(兼容性广且功能强大)。
  • 组合命令使用(如 systemctl status + ss -ltnp 验证服务运行和端口)。
  • 权限提示:普通用户需加 sudo 查看系统级服务。

引用说明

  • 基于Linux man手册(systemctl(1)、ss(8)等)及官方文档(systemd.io)。
  • 命令兼容性参考Red Hat、Ubuntu及Arch Linux的发行版指南。

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

(0)
酷番叔酷番叔
上一篇 2025年7月30日 14:31
下一篇 2025年7月30日 14:43

相关推荐

  • Linux如何格式化分区?具体步骤与注意事项有哪些?

    在Linux系统中,格式化分区是磁盘管理的基础操作,其本质是为分区建立文件系统,以便操作系统识别和管理数据,格式化会清空分区内的所有数据,因此操作前务必确认分区内容已备份或为全新磁盘,以下是详细的格式化分区流程及注意事项,格式化前的准备工作确认分区信息在格式化前,需明确目标分区的设备名(如/dev/sdb1……

    2025年8月29日
    9200
  • Linux下如何制作U盘启动盘?

    在Linux系统下制作U盘启动盘是许多用户在安装操作系统、系统维护或数据恢复时需要掌握的技能,无论是为了安装Ubuntu、Fedora等Linux发行版,还是制作Windows启动盘进行系统修复,正确的方法都能确保启动盘的可用性和稳定性,本文将详细介绍几种主流的制作方法,包括命令行工具、图形化工具及多系统启动盘……

    2025年10月3日
    5500
  • Linux如何配置hosts文件?域名解析操作步骤指南?

    在Linux系统中,hosts文件是一个本地静态的域名解析表,位于/etc/hosts路径下,它用于将IP地址与主机名进行关联,当系统需要解析域名时,会优先查询hosts文件,若未找到匹配项才会向DNS服务器发起请求,正确配置hosts文件对于本地开发、测试环境搭建、网络故障排查等场景至关重要,本文将详细介绍L……

    2025年9月24日
    6300
  • Linux组播通信如何实现?

    组播基础概念组播(Multicast)是一种单点发送、多点接收的网络通信方式,地址范围是 0.0.0 – 239.255.255.255,Linux通过内核协议栈和网络工具实现组播支持,环境检查与准备确认内核支持组播cat /proc/net/igmp # 查看IGMP协议状态(IPv4)cat /proc/n……

    2025年8月3日
    8500
  • 如何在Linux中编译C语言程序?

    在Linux系统中,编译C程序主要依赖GNU Compiler Collection(GCC),这是Linux下最常用的C语言编译器,本文将从安装编译器、编写代码到编译、链接、调试等步骤,详细说明如何在Linux环境下完成C程序的编译与运行,安装GCC编译器大多数Linux发行版默认未安装GCC,需手动安装,以……

    2025年9月16日
    8700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信