如何使用 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桌面(如GNOME、KDE、XFCE)已集成UDisk2服务,可自动检测并挂载U盘:插入U盘:系统通常发出提示音,桌面右下角弹出通知,访问文件:文件管理器(如Nautilus、Dolphin)左侧栏出现U盘图标,名称通常为设备品牌(如”Kingston USB……

    2025年7月8日
    10700
  • Linux系统下如何下载安装GCC编译器的详细步骤是什么?

    在Linux系统中,GCC(GNU Compiler Collection)是开发必备的编译器套件,支持C、C++、Fortran等多种编程语言的编译,不同Linux发行版的包管理器和软件源配置不同,安装GCC的具体步骤也存在差异,本文将详细讲解主流Linux发行版下载安装GCC的方法,包括验证安装、版本管理及……

    2025年8月22日
    11600
  • Linux用户组ID怎么查?

    查看当前用户的ID信息id 命令(最常用)直接运行 id 命令,显示当前用户的 UID(用户ID)、GID(主组ID) 及所属的所有组:$ iduid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),27(sudo)UID:用户唯一标识(0表示r……

    2025年7月31日
    12400
  • 如何拷贝文件到Linux系统?命令行与图形化工具使用方法?

    拷贝文件到Linux系统是日常运维和开发中的常见操作,根据文件大小、网络环境、安全需求等不同场景,可选择多种方法,以下是几种主流方式的详细说明及操作步骤,本地拷贝:使用cp命令当文件已在Linux本地或可挂载的存储设备(如U盘)中时,cp是最基础的拷贝工具,基本语法:cp [选项] 源文件 目标路径常用选项……

    2025年9月26日
    10600
  • 虚拟机中linux如何全屏显示

    虚拟机中,可以通过安装VMware Tools或VirtualBox Guest Additions,然后重启虚拟机

    2025年8月17日
    9800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信