当前位置: 首页 > news >正文

15.Linux systemd和守护进程

Linux : systemd和守护进程

  • Systemd 核心功能
    • 并行化启动:显著提升系统启动速度
    • 按需激活:仅在需要时启动服务
    • 依赖管理:智能处理服务间依赖关系
    • 进程跟踪:使用 Linux 控制组(cgroups)管理进程
    • 统一管理:替代传统的 SysVinit 和 Upstart
Systemd 单元类型
单元类型扩展名功能描述查看命令
服务单元.service系统服务管理systemctl -t service
套接字单元.socketIPC通信管理systemctl -t socket
路径单元.path文件系统触发systemctl -t path
目标单元.target启动目标组systemctl -t target
挂载单元.mount文件系统挂载systemctl -t mount
设备单元.device硬件设备管理systemctl -t device

查看所有支持的类型:systemctl -t help

# 查看所有已激活服务
systemctl list-units --type=service
UNIT                      LOAD   ACTIVE SUB     DESCRIPTION
abrt-ccpp.service         loaded active exited  Install ABRT
abrt-oops.service         loaded active running ABRT kernel 
abrt-xorg.service         loaded active running ABRT Xorg lo
abrtd.service             loaded active running ABRT Automat
accounts-daemon.service   loaded active running Accounts Ser
alsa-state.service        loaded active running Manage Sound
atd.service               loaded active running Job spooling# 查看所有服务启用状态
systemctl list-unit-files --type=service
UNIT FILE                                     STATE   
abrt-ccpp.service                             enabled 
abrt-oops.service                             enabled 
abrt-pstoreoops.service                       disabled
abrt-vmcore.service                           enabled 
abrt-xorg.service                             enabled 
abrtd.service                                 enabled 
accounts-daemon.service                       enabled # 检查特定服务状态
systemctl status chronyd
chronyd.service - NTP client/serverLoaded: loaded (/usr/lib/systemd/system/chronyd.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: man:chronyd(8)man:chrony.conf(5)# 检查服务激活状态
systemctl is-active chronyd
-unknown
# 检查服务启用状态
systemctl is-enabled chronyd
-disabled
# 启动服务
systemctl start chronyd
-systemctl is-active chronyd
-active
# 停止服务
systemctl stop chronyd
-systemctl is-active chronyd
-unknown# 重启服务(断开连接+重载配置)
systemctl restart chronyd# 重载配置(不中断服务)
systemctl reload chronyd# 查看动态服务日志
tail -f
命令效果文件位置
systemctl enable启用开机自启创建 /etc/systemd/system/multi-user.target.wants/serv.service
systemctl disable禁用开机自启删除上述链接文件
systemctl mask完全屏蔽服务创建链接到 /dev/null
systemctl unmask解除屏蔽恢复原始配置,将链接删除
特性restartreload
操作本质完整重启服务进程仅刷新配置文件
进程ID变化生成新PID保持原PID不变
服务中断必然中断连接(秒级)通常零中断(热加载)
适用场景二进制更新/重大配置变更配置文件微调
执行速度较慢(完整启停)极快(毫秒级)
资源影响内存重新加载共享内存保留
实现要求所有服务均支持需服务实现热加载逻辑

补充:

restart: 重启服务。这会先停止服务,然后再启动服务。因此服务进程会中断,会有短暂的停机时间。

reload: 重新加载服务的配置文件。这不会重启服务进程,而是让服务进程重新读取其配置文件,应用新的配置,而不会中断服务

/usr/lib/systemd/system/`:软件包安装的默认配置

http://www.dtcms.com/a/317675.html

相关文章:

  • AVDTP Media Packet 传输全流程解析:从 SDP 到连接终止
  • Zustand
  • 从代码学习深度强化学习 - 模仿学习 PyTorch版
  • 【数据库】MySQL详解:关系型数据库的王者
  • MySQL和Navicat Premium的安装
  • stm32项目(22)——基于stm32的智能病房监护系统
  • Python面试题及详细答案150道(01-15) -- 基础语法篇
  • 代数——第6章——对称性(Michael Artin)
  • vue3 find 数组查找方法
  • CPP网络编程-异步sever
  • FPGA学习笔记——VGA彩条显示
  • python:非常流行和重要的Python机器学习库scikit-learn 介绍
  • STM32学习笔记3-GPIO输入部分
  • WMS及UI渲染底层原理学习
  • 【STM32 LWIP配置】STM32H723ZG + Ethernet +LWIP 配置 cubemx
  • 无人机图传的得力助手:5G 便携式多卡高清视频融合终端的协同应用
  • 中宇联5G云宽带+4G路由器:解锁企业办公高效协同与门店体验升级
  • 图解 Claude Code 子智能体 Sub-agent
  • [ java GUI ] 图形用户界面
  • 【软考系统架构设计师备考笔记4】 - 英语语法一篇通
  • ctfshow_vip题目限免-----SVN漏洞,git泄露
  • Git Cherry-Pick 指南
  • Leetcode——菜鸟笔记1
  • Git 分支管理:从新开发分支迁移为主分支的完整指南
  • 鸿蒙app 开发中 全局弹窗类的封装 基于PromptAction
  • C#之基础语法
  • 机器学习之朴素贝叶斯
  • Suno API V5模型 php源码 —— 使用灵感模式进行出创作
  • 基于PHP的论坛社交网站系统开发与设计
  • 排序算法详解