Linux的systemctl命令

简介

systemctl 命令是 linux 中管理系统服务的命令,相当于 windows 的 sc 命令,用于管理系统服务。

(windows 系统服务)

本文介绍 systemctl 常用的使用方式

使用

systemctl 命令管理的服务在 /etc/systemd/system(系统级)/usr/lib/systemd/system(用户级) 下,是一些以 .service 结尾的文件

如果你想自己的某个 jar 应用,能被 systemctl 管理,可以在该目录下自定义一个 service 文件

(1)服务基础操作

下面命令的 服务名,可以敲服务文件的全名,如 mysql.service,也可以只敲 mysql,省略扩展名

shell 复制代码
# 启动服务
systemctl start [服务名]

# 停止服务
systemctl stop [服务名]

# 重启服务
systemctl restart [服务名]

# 重新加载配置(不中断服务,热重载)
systemctl reload [服务名]

# 查看服务当前状态(是否运行、日志摘要)
systemctl status [服务名]

(2)开机自启管理

面试题:如何设置一个服务开机自启动?

shell 复制代码
# 设置服务开机自启
systemctl enable [服务名]

# 取消开机自启
systemctl disable [服务名]

# 查看服务是否开机自启
systemctl is-enabled [服务名]

(3)查看系统 / 服务列表

shell 复制代码
# 列出所有正在运行的服务
systemctl list-units --type=service

# 列出所有服务(包括未运行)
systemctl list-units --type=service --all

# 列出所有已设置开机自启的服务
systemctl list-unit-files --type=service | grep enabled

(4)系统级操作(重启 / 关机 / 休眠)

shell 复制代码
# 重启系统
systemctl reboot

# 关机
systemctl poweroff

# 休眠
systemctl hibernate

# 进入救援模式(修复系统用)
systemctl rescue

(5)日志查看(配合服务排查问题)

如果使用 systemctl 启动服务失败,可以使用下面的命令

shell 复制代码
# 实时查看某个服务的日志(最常用)
journalctl -u [服务名] -f

# 查看服务全部日志
journalctl -u [服务名]

(6)服务配置 / 重载系统服务

shell 复制代码
# 修改服务配置文件后,重新加载所有服务配置
systemctl daemon-reload

# 屏蔽服务(禁止被启动/自启)
systemctl mask [服务名]

# 取消屏蔽
systemctl unmask [服务名]
相关推荐
薛定谔的悦3 小时前
储能 EMS 的功率策略:从一块电表到一次逆流的 200 毫秒
大数据·linux·能源·储能·bms
2601_962218476 小时前
万象生鲜系统区块链溯源技术帮助生鲜企业搭建食品安全数字化体系
大数据·运维·微服务·云原生·架构
智塑未来6 小时前
中小公司在线文档选型:从协作入口到安全边界
运维·安全
新时代牛马6 小时前
Linux 内核入门地图:架构、源码目录与五大子系统
linux·运维·架构
智购科技无人售货机厂家6 小时前
2026自动售货机制冷系统维护指南:从散热器清洁到压缩机换油的工程实践~YH
运维·redis·物联网·缓存·架构
剑客的茶馆6 小时前
开发者,运维怎样转行FDE?
运维·ai·开发·fde
Julien20046 小时前
控制 SELinux 文件上下文
linux·运维·服务器
sulikey7 小时前
Linux Core Dump 完全指南:从原理到实战的崩溃调试手册。什么是core dump?程序报错core dumped怎么办?
linux·服务器·操作系统·调试·coredump
Lifangyun_WD7 小时前
第一次租 GPU 服务器怎么开始?镜像、SSH、数据存储和停机前要做什么
服务器·云计算·gpu算力·gpu算力租赁
众壹新能源科技7 小时前
功率预测误差考核怎么降?从气象源到上报口径的排查清单
运维·人工智能·自动化