Linux中systemd与systemctl管理指南

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 服务名命令

相关推荐
wj3055853784 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
星寂樱易李5 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
abigriver5 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
wangqiaowq5 小时前
windows下nginx的安装
linux·服务器·前端
YYRAN_ZZU6 小时前
Petalinux新建自动脚本启动
linux
charlie1145141916 小时前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
于小猿Sup6 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y6 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
不仙5208 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
随身数智备忘录8 小时前
什么是设备管理体系?设备管理体系包含哪些核心模块?
网络·数据库·人工智能