Linux systemd 系统管理:systemctl 控制服务与守护进程

在这里插入图片描述

系统启动过程

Linux 系统的启动过程遵循以下步骤:

  1. 开机自检:计算机启动后,BIOS/UEFI 进行硬件自检,确认硬件设备正常
  2. MBR 引导:从指定的启动设备读取主引导记录 (MBR),启动引导程序
  3. GRUB 菜单:显示引导菜单,用户可选择要启动的操作系统内核
  4. 加载 Linux 内核:内核被加载到内存中并开始初始化
  5. 运行 systemd:启动 systemd 进程 (PID=1),作为所有进程的父进程,负责后续系统初始化

一、systemd 简介

systemd 是 Linux 系统的系统和服务管理器,具有以下特点:

  • 采用并行启动方式,提高系统启动速度
  • 负责管理系统启动和服务器进程
  • 能够在启动时和运行中的系统上激活系统资源、服务器守护进程和其他进程

守护进程是指在后台等待或运行以执行各种任务的程序,一个或多个守护进程共同负责系统上的某个服务。

2、Systemd 的新功能

  • 并行化功能:可以同时启动多个服务,提高系统启动速度
  • 按需启动守护进程:不需要预先启动单独的服务,可在需要时再启动
  • 自动服务依赖关系管理:能够处理服务间的依赖关系,例如在网络不可用时不启动依赖网络的服务,防止长时间超时
  • 利用 Linux 控制组:通过控制组追踪相关进程,便于管理和监控

二、systemctl 管理 systemd 单元

1、单元类型

使用systemctl -t help可以查看所有单元类型:

[root@zhang3 ~]# systemctl -t help
Available unit types:
service
socket
busname
target
snapshot
device
mount
automount
swap
timer
path
slice
scope

2、列出单元

  • systemctl:查看系统启动时所有单元的状态
  • systemctl list-unit-files:查看系统中所有单元及当前状态
  • systemctl --type=service:只显示服务单元类型的状态
  • systemctl list-units --type=service:列出所有已加载且处于活动状态的服务单元
  • systemctl list-unit-files | grep service:筛选出所有服务单元

查询服务状态的命令:

  • systemctl is-active 服务名:查询具体某个服务是否处于激活状态
  • systemctl is-enabled 服务名:查询具体某个服务下次启动的状态

3、查看服务状态

systemctl status chronyd:以chronyd服务为例,查看 chronyd 服务的详细状态,包括运行状态、进程 ID、最近日志等信息

[root@zhang3 system]# systemctl status chronyd
● chronyd.service - NTP client/serverLoaded: loaded (/usr/lib/systemd/system/chronyd.service; disabled; vendor preset: enabled)Active: active (running) since 三 2025-08-06 15:15:53 CST; 24min agoDocs: man:chronyd(8)man:chrony.conf(5)Process: 10975 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)Process: 10971 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)Main PID: 10973 (chronyd)Tasks: 1CGroup: /system.slice/chronyd.service└─10973 /usr/sbin/chronyd8月 06 15:15:53 zhang3.example.com systemd[1]: Starting NTP client/server...
8月 06 15:15:53 zhang3.example.com chronyd[10973]: chronyd version 3.2 startin...
Hint: Some lines were ellipsized, use -l to show in full.

4、启动和停止服务

  • systemctl start chronyd:启动 chronyd 服务
  • systemctl stop chronyd:停止 chronyd 服务
  • systemctl restart chronyd:重新启动 chronyd 服务
  • systemctl reload chronyd:重新加载 chronyd 服务的配置文件

示例说明

  • systemctl restart NetworkManager:重启网络管理服务,过程是先关闭服务,再重新加载新的配置文件,最后启动服务
  • systemctl reload NetworkManager:重新加载网络管理服务的配置文件,不会断开服务,直接应用新配置

5、启用和禁用服务

在系统启动时,服务是否会自动启动取决于 systemd 配置目录中是否存在该服务的链接文件:

  • 启用服务:systemctl enable chronyd,会在 systemd 的配置目录中创建该服务的链接文件,使服务在系统启动时自动启动
  • 禁用服务:systemctl disable chronyd,会删除 systemd 配置目录中该服务的链接文件,使服务在系统启动时不会自动启动

6、屏蔽服务

系统中有些服务同时启动可能产生冲突,为了防止管理员意外启动这些冲突的服务,可以屏蔽服务:

  • 屏蔽服务:systemctl mask chronyd
  • 解除屏蔽:systemctl unmask chronyd

屏蔽服务会创建一个指向 /dev/null 的符号链接,阻止服务被启动,比禁用服务更严格。

通过上述命令和功能,systemd 提供了一套完整的系统和服务管理机制,使得管理员能够方便地控制系统服务的生命周期和运行状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92299.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92299.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/92299.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Day2-PyTorch Tensor 从入门到实践:核心操作与避坑指南》

一、Tensor的创建 在Torch中张量以 "类" 的形式封装起来,对张量的一些运算、处理的方法被封装在类中,官方文档: torch — PyTorch 2.7 documentation 1. 基本创建方式 以下讲的创建tensor的函数中有两个有默认值的参数dtype和d…

两种格式数据介绍——bin 、 yuv文件

一、场景存储 通常指的是用于存储摄像头或传感器原始采集数据的文件格式,尤其是在自动驾驶、机器人、安防、工业视觉等需要记录真实世界场景的应用中。格式存储内容用途场景特点.binLiDAR点云、毫米波雷达数据、IMU、GPS、原始传感器帧自动驾驶仿真、SLAM建图、数据…

【网络运维】Linux:SELinux简介和配置

SELinux 介绍 SELinux 概述 文件权限控制了哪些用户或用户组可以访问哪些特定文件,但未限定用户访问文件的方式。 例如:对于文件的写入权限而言, 结构化数据文件是否应当设计为只能使用特定的程序写入,但其他编辑器仍可以打开和修…

GaussDB SQL执行计划详解

1 问题现象SQL执行计划是GaussDB性能分析及调优的核心,它输出三个关键信息:访问路径:扫描表数据的路径。连接顺序:多表连接顺序。连接方式:多表连接方式。2 技术背景GaussDB SQL语句执行计划是数据库为运行SQL语句而执行的操作步骤…

02.【数据结构-C语言】顺序表(线性表概念、顺序表实现:增删查、前向声明、顺序表实现通讯录项目:增删改查、通讯录数据导入及保存到本地文件)

目录 1. 线性表 2. 顺序表概念及分类 2.1 顺序表的概念 2.2 顺序表分类 2.3 动静态顺序表对比 3. 顺序表的实现(附完整版代码) 3.1 顺序表结构体声明 3.2 初始化&销毁 3.3 插入(尾插、头插、指定位置之前插入) 3.4 …

MyBatis核心配置深度解析:从XML到映射的完整技术指南

🔧 MyBatis核心配置深度解析:从XML到映射的完整技术指南 🚀 引言:MyBatis作为Java生态中最受欢迎的持久层框架之一,其强大的配置体系是实现灵活数据访问的核心。本文将深入解析MyBatis的配置文件架构、映射机制以及高级…

OpenCV HSV与RGB颜色模型的区别

HSV与RGB颜色模型的区别 HSV(Hue, Saturation, Value)和 RGB(Red, Green, Blue)是两种不同的颜色表示方式,主要区别如下:对比项RGBHSV定义基于红、绿、蓝三原色的混合基于色相(H)、饱…

具有柔性关节的机械臂matlab仿真

柔性关节机械臂MATLAB仿真方案,包含动力学建模、控制器设计和可视化分析。该方案基于拉格朗日方程建立柔性关节模型,并实现了PD控制、滑模控制和自适应控制三种控制策略。 MATLAB仿真 %% 柔性关节机械臂仿真 - 完整系统 % 作者: MATLAB技术助手 % 日期: …

数据结构—队列和栈

1.二级指针的使用二级指针: 1. 在被调函数中,想要修改主调函数中的指针变量,需要传递该指针变量的地址,形参用二级指针接收。 2.指针数组的数组名是一个二级指针,指针数组的数组名作为参数传递时,可用二级指…

均线:从市场脉搏到量子计算的时空密码

一部跨越百年的技术分析进化史,揭示金融市场的数学本质 引言:金融市场的永恒罗盘 在华尔街百年风云中,一个简单的数学工具始终闪耀着智慧光芒——移动平均线(Moving Average)。从杰西利弗莫尔的手绘图表到文艺复兴科技的量子模型,均线系统完成了从经验工具到科学框架的惊…

Python 通过Playwright+OpenCV破解滑动验证码 实例

由于公司最近需要对接某业务系统,涉及到部分数据需要提交至其它平台业务系统,只有其它平台账户,没有接口,因此做此开发。首先通过OpenCV计算出验证验证码滑块距离,根据距离,使用 Playwright 利用滑动距离模…

山东省天地图API申请并加载到QGIS和ArcGIS Pro中

目的:在QGIS/ArcGIS Pro中加载山东省不同时期的历史影像1、申请API 山东省天地图的API和国家天地图的API不通用,需要单独申请。 https://shandong.tianditu.gov.cn/ 打开本地服务资源找到影像的详情页 点击申请地址按照下面的步骤一步一步来,…

qt窗口--02

文章目录qt窗口--02QMessageBoxQColorDialogQFileDialogQFontDialogQInputDialog、结语很高兴和大家见面,给生活加点impetus!!开启今天的编程之路!! 作者:٩( ‘ω’ )و260 我的专栏:qt&#…

Linux seLinux

Linux seLinux 1、什么是selinux,security enhanced linux–安全加强的linux。 是由美国国家安全局开发的以及历史。selinux之前是基于自主存取控制方法DAC, 只要符合权限即可,通过suid和sgid特殊权限存在有一定的安全隐患, 甚至一…

Linux: NFS 服务部署与autofs自动挂载的配置

Linux: NFS 服务部署与autofs自动挂载的配置NFS(Network File System,网络文件系统)是一种基于 TCP/IP 协议的网络文件共享协议,允许不同主机在网络中共享文件资源,实现跨主机的文件访问与管理,…

【深度学习②】| DNN篇

0 序言 本文将系统介绍基于PyTorch的深度神经网络(DNN)相关知识,包括张量的基础操作、DNN的工作原理、实现流程,以及批量梯度下降、小批量梯度下降方法和手写数字识别案例。通过学习,你将掌握DNN的核心概念、PyTorch实…

Xcode 26 如何在创建的 App 包中添加特定的目录

功能需求 在某些情况下,我们需要将特定文件放在 Xcode 编译链接后 App 包里的指定目录中,比如将 AI 大模型相关文件放在它们对应名称的目录中: 正常情况下,Xcode 会将项目目录中的所有文件都平铺放到 App 包的根目录里。那么,要如何形成上面这种文件目录层级呢? 在本篇…

linux-系统性能监控

linux-系统性能监控一、cpu1.1 查看cpu的信息1.2 cpu性能指标1.3 编写监控cpu使用率的脚本1.4 查找出使用cpu最高的10个进程二、内存2.1 查看内存信息2.2 交换(swap)分区2.2.1 查看交换分区的积极程度2.2.2 查看交换分区的大小2.2.3 管理交换分区2.3 编写…

AgxOrin平台JetPack5.x版本fix multi-cam race condition 补丁

本文包含三个针对NVIDIA Linux驱动程序的补丁修复: 多摄像头竞争条件修复 在capture-ivc驱动中新增信号量机制,解决多摄像头同时操作时的竞争条件问题(Bug 4425972)。主要修改包括在通道上下文结构中添加信号量,并在通道ID通知和取消注册时进行信号量操作。 内存泄漏修复…

【Go】P3 Go语言程序结构

Go语言程序结构Go语言程序结构命名规则与编程惯例核心规则四种声明语句详解var声明:变量声明const声明:常量声明type声明:类型定义func声明:函数声明简短变量声明(:)使用规则和限制指针:安全的内存地址操作基本概念和操…