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

相关推荐
looking_for__1 小时前
【Linux】应用层自定义协议与序列化
linux·服务器·网络
云中飞鸿1 小时前
VS编写QT程序,如何向linux中移植?
linux·开发语言·qt
唐梓航-求职中1 小时前
技术-算法-leetcode-1606. 找到处理最多请求的服务器(易懂版)
服务器·算法·leetcode
科技块儿1 小时前
如何选择合适的IP查询工具?精准度与更新频率全面分析
网络·tcp/ip·安全
晚风_END1 小时前
Linux|操作系统|elasticdump的二进制方式部署
运维·服务器·开发语言·数据库·jenkins·数据库开发·数据库架构
嵌入小生0071 小时前
Standard IO -- Continuation of Core Function Interfaces (Embedded Linux)
linux·vim·嵌入式·标准io·vscode
devmoon1 小时前
Polkadot SDK 自定义 Pallet Benchmark 指南:生成并接入 Weight
开发语言·网络·数据库·web3·区块链·波卡
Zach_yuan1 小时前
传输层之TCP/UDP 核心原理全解析:从协议基础到实战机制
linux·网络协议·tcp/ip·udp
独自归家的兔1 小时前
Ubuntu 系统 systemd timers 详解:替代 crontab 的定时任务进阶方案
linux·运维·ubuntu
Lsir10110_1 小时前
【Linux】深入解剖页表——分页式存储
linux·运维·服务器