linux管理服务的命令有哪些

Linux 中管理服务的命令主要分为 传统 service 命令主流 systemctl 命令 两类,其中 systemctl 是 Systemd 系统的标准工具,目前绝大多数 Linux 发行版(如 CentOS 7+、Ubuntu 16.04+)都已采用,功能更全面。

一、 主流工具:systemctl(Systemd 系统)

systemctl 可以实现服务的启动、停止、重启、开机自启、状态查询等全生命周期管理,基本语法:

复制代码
systemctl [操作] [服务名].service

注:.service 后缀可省略。

操作命令 作用 测试场景示例
systemctl start 服务名 启动指定服务 systemctl start nginx(启动 Nginx 服务,用于 Web 测试环境)
systemctl stop 服务名 停止指定服务 systemctl stop mysql(停止 MySQL 数据库,用于测试环境维护)
systemctl restart 服务名 重启指定服务 systemctl restart tomcat(重启 Tomcat 服务,测试配置文件修改是否生效)
systemctl reload 服务名 重载服务配置(不中断服务) systemctl reload nginx(重载 Nginx 配置,无需重启服务)
systemctl status 服务名 查看服务运行状态 systemctl status redis(检查 Redis 是否正常运行,判断缓存服务可用性)
systemctl enable 服务名 设置服务开机自启 systemctl enable docker(确保 Docker 服务随系统启动,测试容器化环境)
systemctl disable 服务名 关闭服务开机自启 systemctl disable httpd(禁止 Apache 开机自启,避免占用测试端口)
systemctl is-active 服务名 检查服务是否正在运行 systemctl is-active jenkins(快速判断 Jenkins 测试任务调度服务状态)
systemctl is-enabled 服务名 检查服务是否开机自启 systemctl is-enabled mysql(确认数据库是否配置为开机自启)
补充常用命令
  1. 查看所有已启动的服务: bash

    运行

    复制代码
    systemctl list-units --type=service --state=running
  2. 查看所有服务(包括未启动的): bash

    运行

    复制代码
    systemctl list-unit-files --type=service
  3. 禁止服务被手动或自动启动(冻结服务): bash

    运行

    复制代码
    systemctl mask 服务名
  4. 解除服务冻结: bash

    运行

    复制代码
    systemctl unmask 服务名

二、 传统工具:service 命令(SysVinit 系统)

适用于老旧 Linux 发行版(如 CentOS 6、Ubuntu 14.04),通过 /etc/init.d/ 目录下的服务脚本管理,功能较简单。基本语法:

bash

运行

复制代码
service [服务名] [操作]
操作命令 作用 示例
service 服务名 start 启动服务 service nginx start
service 服务名 stop 停止服务 service mysql stop
service 服务名 restart 重启服务 service tomcat restart
service 服务名 status 查看服务状态 service redis status
补充

查看系统中所有可用的 service 服务:

bash

运行

复制代码
service --status-all

三、 两类命令的区别与适用场景

特性 systemctl service
适用系统 Systemd(主流新系统) SysVinit(老旧系统)
功能 支持开机自启、依赖管理、日志关联 仅支持基础启停、状态查询
日志集成 可通过 journalctl -u 服务名 查看服务日志 需单独查看日志文件(如 /var/log/

四、 测试场景常用技巧

  1. 查看服务日志(systemctl 配套命令):

    bash

    运行

    复制代码
    journalctl -u 服务名  # 查看指定服务的所有日志
    journalctl -u nginx -f  # 实时跟踪 Nginx 服务日志(类似 tail -f)
  2. 解决服务启动失败:先通过 systemctl status 服务名 查看错误提示,再结合日志定位问题。

相关推荐
chlk12319 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑19 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件20 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒20 小时前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux