Linux中systemd与systemctl管理指南

发布于:2025-08-12 ⋅ 阅读:(14) ⋅ 点赞:(0)

Linux中systemd与systemctl管理指南

一、systemd 概述

1. 系统启动流程
  1. 开机自检 → 2. MBR引导 → 3. GRUB菜单 → 4. 加载Linux内核 → 5. 运行 systemd
2. 核心功能
  • 并行启动:加速系统初始化
  • 统一管理:控制启动过程及运行时的系统资源、守护进程(后台服务程序)
  • 按需启动:仅在需要时激活守护进程
  • 依赖管理:自动处理服务间依赖(如在网络不可用时不启动网络服务)
  • 进程跟踪:通过 Linux 控制组(cgroups)管理进程关系

二、systemctl 管理单元

1. 单元类型(Unit Types)

查看命令systemctl -t help

类型 描述
.service 系统服务(最常用)
.socket 进程间通信套接字
.path 文件系统路径触发器
.target 启动目标(类似运行级别)
2. 单元重要操作命令
  1. 状态

    systemctl status 服务名		# 查询详细状态
    

    在这里插入图片描述

  2. 启动

    systemctl start 服务名			# 启用服务
    
  3. 停止

    systemctl stop 服务名			# 停止当前状态
    
  4. 重启(不推荐使用)

    systemctl restart 服务名		# 先关,再改,后启,会中断服务
    
  5. 重新加载(推荐使用)

    systemctl reload 服务名		# 不会中断服务,直接加载新配置
    systemctl daemon-reload		  # 重新加载所有单元服务
    
  6. 禁用

    systemctl disable 服务名		# 下一次状态为禁用
    
    # 在启动时系统会读取的目录下移除软链接
    Removed symlink /etc/systemd/system/multi-user.target.wants/chronyd.service.
    

    在这里插入图片描述

  7. 下一次状态启用

    systemctl enable 服务名		# 下一次状态为启用
    
    # 在启动时系统会读取的目录下创建软链接
    Created symlink from /etc/systemd/system/multi-user.target.wants/chronyd.service to /usr/lib/systemd/system/chronyd.service.		
    

    在这里插入图片描述

  8. 屏蔽

    systemctl mask 服务名			# 防止管理员意外启动这些冲突的服务
    
    #把文件扔进空目录
    Created symlink from /etc/systemd/system/chronyd.service to /dev/null.
    

    在这里插入图片描述

  9. 解除屏蔽

    systemctl unmask 服务名		# 恢复服务可用性
    
    #恢复到原文件
    Removed symlink /etc/systemd/system/chronyd.service.
    
3. 列出单元状态命令
命令 效果说明
systemctl 查看系统启动时所有单元的状态
systemctl list-unit-files 查看系统中所有单元及当前状态
systemctl --type=service 只显示服务单元类型的状态
systemctl list-units --type=service 列出所有已加载且处于活动状态的服务单元
systemctl is-active 服务名 查询具体某个服务是否处于激活状态
systemctl is-enabled 服务名 查询具体某个服务下次启动的状态

​ 在多数时刻,主要还是查看状态使用systemctl status 服务名命令