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

相关推荐
念恒123069 分钟前
Socket编程UDP(中)
linux·网络协议·udp
深耕运维十八载云架构实务15 分钟前
系统故障玄学之内存明明显示空闲,服务器却频繁卡顿卡死?拆解被忽略的 Linux 隐性内存陷阱
linux
qetfw1 小时前
CentOS 7 搭建 Sendmail + Dovecot 邮件服务器:SMTP、POP3、IMAP 与 TLS
linux·centos
xlq223221 小时前
高并发服务器day5
java·服务器·数据库
汤愈韬1 小时前
关于OSPF中一类、二类、三类LSA的一些思考
网络·网络协议
明日清晨1 小时前
printf(“%p\n“,&((struct A *)NULL)->m_float)的原理
linux·服务器·前端
William_cl1 小时前
WinForms EF Core 上下文频繁释放引发的异常排查与规范方案(MES 项目实录)
服务器·数据库·oracle
我送炭你添花2 小时前
HART协议详解:00 为什么工业世界仍然需要HART?
网络·机器人·自动化·智能工厂
vortex52 小时前
网络路径探测三大技术:原理、缺陷与选型指南
网络
其实防守也摸鱼2 小时前
前端应用的离线暂停更新策略:构建稳定可靠的渐进式部署方案
服务器·前端·数据库·学习·ai·命令行·linux系统