茗宸博客网

  • 首页
  • 数据通信
    • 华为
    • 思科
    • 浪潮科技
    • 锐捷
  • 硬件瞎折腾
    • 电脑折腾
    • 软路由
    • 服务器
    • 私有NAS
    • FPV无人机瞎折腾
  • 网络安全
    • CTF经验
    • 实战环境
    • 渗透实战
    • 蓝队加固
    • 近期赛事
    • 漏洞分享
  • 网络技术
    • 网络基础
    • 网络技术精品
    • linux基础
    • 计算机基础
  • 编程学习
    • python
  • 运行维护
  • 服务器搭建
  • 资源分享
  • 随手笔记
    • 随手笔记之ensp
    • 随手笔记之mysql
  • 日常
    • 拍摄
茗宸博客
随手笔记
  1. 首页
  2. 网络技术
  3. linux基础
  4. 正文

Linux systemctl 命令

2026年1月28日 131点热度 0人点赞 0条评论
内容目录

Linux systemctl 命令


什么是 systemctl

systemctl 是 Linux 系统中用于控制 systemd 系统和服务管理器的命令行工具。作为现代 Linux 发行版的核心组件,它取代了传统的 init 系统和 service 命令。

systemd 简介

systemd 是一个系统和服务管理器,它:

  • 作为 PID 1 运行(第一个启动的进程)
  • 负责启动、停止和管理其他所有进程
  • 提供并行启动能力,显著加快系统启动速度
  • 支持按需启动服务
  • 提供日志收集功能(通过 journald)

systemctl 基本语法

systemctl [选项] [命令] [单元名称]

常用选项

选项 说明
-t, --type 指定单元类型(service, socket, device 等)
-a, --all 显示所有单元,包括不活跃的
--state 按状态过滤单元
-l, --full 显示完整的单元信息
-H, --host 操作远程主机

服务管理命令

启动/停止/重启服务

实例

# 启动服务
sudo systemctl start [服务名]

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

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

# 重新加载配置(不重启服务)
sudo systemctl reload [服务名]

查看服务状态

实例

# 查看单个服务状态
systemctl status [服务名]

# 查看所有运行中的服务
systemctl list-units --type=service --state=running

# 查看失败的服务
systemctl --failed

启用/禁用服务

实例

# 启用服务(开机自启)
sudo systemctl enable [服务名]

# 禁用服务(取消开机自启)
sudo systemctl disable [服务名]

# 查看服务是否启用
systemctl is-enabled [服务名]


单元文件管理

单元文件位置

  • 系统单元:/usr/lib/systemd/system/
  • 管理员自定义单元:/etc/systemd/system/

常用单元文件操作

实例

# 重新加载所有单元文件(修改配置后需要执行)
sudo systemctl daemon-reload

# 显示单元文件内容
systemctl cat [单元名]

# 编辑单元文件(会创建覆盖文件)
sudo systemctl edit [单元名] --full


系统状态管理

系统电源管理

实例

# 关机
sudo systemctl poweroff

# 重启
sudo systemctl reboot

# 挂起
sudo systemctl suspend

# 休眠
sudo systemctl hibernate

系统运行级别

实例

# 获取当前目标(运行级别)
systemctl get-default

# 设置默认目标
sudo systemctl set-default [目标名]

# 切换目标(立即生效)
sudo systemctl isolate [目标名]

常见目标:

  • graphical.target - 图形界面模式
  • multi-user.target - 多用户文本模式
  • rescue.target - 救援模式
  • emergency.target - 紧急模式

实战示例

示例1:管理 Nginx 服务

实例

# 启动 Nginx
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

# 检查状态
systemctl status nginx

# 测试配置后重新加载
sudo nginx -t # 先测试配置
sudo systemctl reload nginx

示例2:创建自定义服务

  1. 创建服务文件 /etc/systemd/system/myapp.service:

实例

[Unit]
Description=My Custom Application
After=network.target

[Service]
ExecStart=/usr/bin/python3 /opt/myapp/app.py
WorkingDirectory=/opt/myapp
User=myappuser
Group=myappgroup
Restart=always

[Install]
WantedBy=multi-user.target

  1. 启用并启动服务:

实例

sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp


常见问题排查

服务启动失败

  1. 查看详细日志:

    journalctl -u [服务名] -xe
  2. 检查依赖关系:

    systemctl list-dependencies [服务名]
  3. 在调试模式下运行:

    systemctl status [服务名] -l --no-pager

性能分析

实例

# 显示系统启动耗时
systemd-analyze

# 显示每个服务的启动时间
systemd-analyze blame

# 生成启动流程图(需要图形界面)
systemd-analyze plot > boot.svg

标签: 暂无
最后更新:2026年1月28日

站长

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

站长

这个人很懒,什么都没留下

最新 热点 随机
最新 热点 随机
Mbps、Kbps、bps 与 MB、KB、B 区别/联系/换算 Linux systemctl 命令 linux的service IPTABLES一文通 网安路线图 DOS相关常用命令了一篇了解大全
IPTABLES一文通linux的serviceLinux systemctl 命令Mbps、Kbps、bps 与 MB、KB、B 区别/联系/换算MYSQL数据库学习记录DOS相关常用命令了一篇了解大全
搬书Linux操作系统应用与安全项目化实战教程 自学iptables防火墙视频 红队命令合集 单臂路由与三层交换机之间通信 3800元 实战3A游戏配置 NTFS与DBR详解
文章目录
  • Linux systemctl 命令
    • 什么是 systemctl
      • systemd 简介
    • systemctl 基本语法
      • 常用选项
    • 服务管理命令
      • 启动/停止/重启服务
    • 实例
      • 查看服务状态
    • 实例
      • 启用/禁用服务
    • 实例
    • 单元文件管理
      • 单元文件位置
      • 常用单元文件操作
    • 实例
    • 系统状态管理
      • 系统电源管理
    • 实例
      • 系统运行级别
    • 实例
    • 实战示例
      • 示例1:管理 Nginx 服务
    • 实例
      • 示例2:创建自定义服务
    • 实例
    • 实例
    • 常见问题排查
      • 服务启动失败
      • 性能分析
    • 实例

COPYRIGHT © 2023 茗宸bk. ALL RIGHTS RESERVED.

站长微信:printJ7

鲁ICP备2024114188号

鲁公网安备37130202372760号