如何使用 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 各发行版提供官方软件仓库,通过包管理器安装可自动解决依赖关系并确保安全性,APT (Debian/Ubuntu/Mint 等)# 安装软件(以 Firefox 为例)sudo apt install firefox# 卸载软件sudo apt remove fir……

    2025年7月17日
    13900
  • Linux如何防止进程访问内核空间?

    Linux内核作为操作系统的核心,直接管理硬件资源并提供系统服务,其安全性是系统稳定运行的关键,为防止用户进程非法访问内核空间(Ring 0权限),Linux通过多重硬件级与软件级机制构建严密的防护体系,确保进程严格隔离在用户空间(Ring 3权限),仅通过合法途径与内核交互,以下从核心机制、实现原理及防护作用……

    2025年9月28日
    15100
  • Linux如何调整文本大小写?

    在Linux系统中,调整文本大小写是常见的文本处理需求,尤其在日志分析、数据清洗、脚本编写等场景中,Linux提供了多种命令行工具来实现大小写转换,每种工具各有特点,可根据需求选择使用,以下是常用方法的详细介绍,使用tr命令进行字符转换tr(translate)是Linux中用于字符转换的基础工具,通过简单的字……

    2025年10月7日
    11900
  • linux如何全选

    Linux中,使用Ctrl + A可全选当前行内容,在命令行编辑

    2025年8月10日
    15300
  • 如何用last命令查看系统重启记录?

    在Linux系统中,查看开关机记录是系统维护、故障排查和安全审计的重要操作,以下是几种权威可靠的方法,适用于大多数Linux发行版(如Ubuntu、CentOS、Debian等),操作前请确保具备root权限或使用sudo命令,last 命令读取 /var/log/wtmp 文件,记录所有登录、重启和关机事件……

    2025年8月9日
    13300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信