如何使用 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查看用户有哪些可靠方法?

    查看 /etc/passwd 文件(最直接)命令:cat /etc/passwd说明:所有用户信息存储在 /etc/passwd 文件中,每行代表一个用户,输出格式:用户名:密码占位符(x):用户ID(UID):组ID(GID):描述信息:家目录:默认Shelljohn:x:1001:1001:John Doe……

    2025年7月23日
    7800
  • 如何用U盘启动Linux?具体操作步骤有哪些?

    要用U盘启动Linux,需经历准备阶段、制作启动盘、设置BIOS/UEFI、启动安装等步骤,以下是详细操作指南:准备阶段下载Linux镜像文件:访问Linux发行版官网(如Ubuntu、Fedora、Deepin等),下载ISO镜像文件(推荐选择LTS长期支持版本,更稳定),确保镜像完整,可通过校验和(如SHA……

    2025年9月20日
    4800
  • Linux系统下如何彻底删除数据库实例?详细步骤方法指南

    在Linux系统中删除数据库实例是一个需要谨慎操作的过程,涉及服务停止、数据清理、配置卸载等多个步骤,不同数据库(如MySQL、PostgreSQL、MongoDB等)的具体操作略有差异,但核心逻辑一致,以下是通用详细步骤,涵盖常见数据库类型的操作要点,并强调数据安全与操作规范性,第一步:前置准备与数据备份删除……

    2025年9月16日
    6500
  • Linux如何连接校园网?认证步骤与配置方法详解

    在Linux系统中连接校园网,需根据校园网的认证方式(如PPPoE、802.1X、Portal网页认证等)进行针对性配置,同时确保网络硬件和系统环境正常,以下是详细步骤和注意事项:准备工作确认硬件与驱动检查网卡是否正常工作:有线连接可用ip addr查看eth0等网卡接口是否存在,无线连接用iwconfig查看……

    2025年10月9日
    5300
  • 如何满足睡觉的条件?

    在Linux系统中,休眠(Hibernate)是一种重要的电源管理功能,它允许系统将当前运行状态(包括内存数据)保存到硬盘的交换分区(swap),然后完全断电,当再次开机时,系统会从硬盘恢复状态,回到休眠前的界面,这与挂起(Suspend)不同——挂起仅将数据保存在内存中并进入低功耗模式,断电后数据会丢失,下面……

    2025年6月18日
    10100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信