【Ubuntu】systemd 及其工具
什么是 systemd
systemd 是一个用于管理 Linux 系统启动过程和系统服务的初始化系统。它是现代 Linux 发行版中广泛采用的初始化系统,负责启动和管理操作系统的各个组件。
systemd 的设计目标是提高系统启动速度、优化资源管理和提供更强大的服务管理功能。它引入了一些新的概念和功能,包括并行启动、按需启动服务、基于套接字的激活、更好的日志记录和跟踪等。
以下是 systemd 的一些主要特点和组件:
-
单位(Units):systemd 使用单位(units)来表示系统组件和服务。每个单位代表一个特定的系统资源或功能,例如服务、套接字、设备等。每个单位都有一个对应的配置文件,用于定义它的属性和依赖关系。
-
systemd 套件:systemd 包含了一系列工具和服务,用于系统的管理和操作。其中一些重要的组件包括 systemd 命令行工具(如 systemctl、journalctl)、systemd 日志系统(journal)、systemd 网络管理(systemd-networkd)等。
-
并行启动:systemd 实现了并行启动,可以同时启动多个系统服务,提高系统启动速度。
-
依赖关系和顺序控制:通过单位之间的依赖关系,systemd 可以确保服务在其依赖的其他服务启动之后才启动。这样可以更精确地控制启动顺序和服务之间的关联。
-
套接字激活:systemd 支持基于套接字的激活,允许服务在需要时由请求者动态启动,而不是持续运行。
-
日志记录和跟踪:systemd 使用 journalctl 工具来记录和管理系统日志。它支持强大的日志过滤和查询功能,可以更方便地查看和分析系统日志。
systemd 的引入带来了对传统 SysV init 系统的改进,提供了更快、更灵活和更可靠的系统初始化和服务管理功能。它已经成为许多主流 Linux 发行版的默认初始化系统,如 Ubuntu、Fedora、CentOS 等。
systemd 相关工具
下面是 systemd 相关工具的简要说明和使用方法:
-
systemd:systemd 初始化系统的主要命令,用于启动和管理系统服务,管理单位等。它可以使用
systemctl
命令来启动、停止、重启、启用、禁用和管理系统服务。 -
systemd-analyze:用于分析系统启动时间和性能的工具。可以使用
systemd-analyze blame
命令来查看每个单位的启动时间,使用systemd-analyze plot
命令生成启动性能图。 -
systemd-ask-password:用于与用户交互以获取密码或其他验证信息的工具。可以使用
systemd-ask-password
命令来请求密码或其他验证信息,并将结果传递给其他命令或服务。 -
systemd-cat:将标准输入或文件的内容输出到 systemd 日志(journal)的命令。可以使用重定向或管道将消息发送到 journal,例如
echo "Hello" | systemd-cat
。 -
systemd-cgls:用于显示 cgroups 层次结构的命令。可以使用
systemd-cgls
命令来列出当前系统中的 cgroups 以及它们的层次关系。 -
systemd-cgtop:用于显示正在运行的 cgroups 中的进程和资源使用情况的命令。使用
systemd-cgtop
命令可以实时监视 cgroups 中的进程资源。 -
systemd-delta:用于比较和显示文件和单位之间的差异的工具。可以使用
systemd-delta
命令来比较系统配置文件和单位文件的更改情况。 -
systemd-tty-ask-password-agent:系统密码代理程序,用于在 tty 终端上向用户请求密码。它与
systemd-ask-password
命令一起使用,用于安全地处理密码输入。 -
systemd-detect-virt:用于检测当前系统是否运行在虚拟化环境中的工具。可以使用
systemd-detect-virt
命令来检测系统是否是在虚拟机或容器中运行。 -
systemd-escape:用于转义字符串以在 systemd 配置文件中使用。可以使用
systemd-escape
命令将特殊字符转换为适合在配置文件中使用的形式。 -
systemd-hwdb:硬件数据库工具,用于管理和查询 systemd 的硬件数据库。它用于设备和驱动程序的匹配和识别。
-
systemd-id128:用于生成或处理 128 位的唯一标识符(UUID)的工具。
-
systemd-inhibit:用于阻止或延迟系统操作的工具。可以使用
systemd-inhibit
命令来阻止休眠、关机、重启等操作。 -
systemd-machine-id-setup:用于生成或设置机器 ID 的工具。可以使用
systemd-machine-id-setup
命令来生成新的机器 ID 或设置现有的机器 ID。 -
systemd-mount:用于挂载和卸载文件系统的工具。可以使用
systemd-mount
命令来挂载或卸载文件系统,例如systemd-mount /dev/sdb1 /mnt
。 -
systemd-notify:用于向 systemd 发送状态通知的工具。可以使用
systemd-notify
命令发送自定义状态和通知给 systemd。 -
systemd-path:用于查询系统文件路径的工具。可以使用
systemd-path
命令来获取各种系统路径,如配置文件路径、单元文件路径等。 -
systemd-resolve:用于系统的 DNS 解析和域名解析的工具。可以使用
systemd-resolve
命令来查询 DNS 信息、解析域名等。 -
systemd-run:用于在不创建新服务单元文件的情况下运行临时任务的命令。可以使用
systemd-run
命令在不创建新服务单元文件的情况下运行临时任务,例如systemd-run --unit=my-service /usr/bin/my-command
。 -
systemd-socket-activate:用于在需要时动态激活套接字的工具。可以使用
systemd-socket-activate
命令来启动和管理套接字单元。 -
systemd-stdio-bridge:用于在标准输入/输出之间转发数据的工具。它可以将数据从一个程序的标准输出传递到另一个程序的标准输入。
-
systemd-sysusers:用于管理和创建系统用户和组的工具。可以使用
systemd-sysusers
命令来创建、修改和删除系统用户和组。 -
systemd-tmpfiles:用于管理临时文件和目录的工具。可以使用
systemd-tmpfiles
命令来创建、清理和维护临时文件和目录。 -
systemd-umount:用于卸载文件系统的工具。可以使用
systemd-umount
命令来卸载已挂载的文件系统,例如systemd-umount /mnt
。
这些工具都具有不同的功能和用途,用于系统管理和操作。您可以在终端中使用相应的命令加上适当的参数来调用这些工具,并根据每个工具的特定用法提供必要的参数和选项。您可以使用各个工具的 man 页面或命令帮助来获取更详细的信息和使用示例,例如 man systemd-analyze
或 systemd-ask-password --help
。
环境
OS : unbuntu 20.04
相关文章:
【Ubuntu】systemd 及其工具
什么是 systemd systemd 是一个用于管理 Linux 系统启动过程和系统服务的初始化系统。它是现代 Linux 发行版中广泛采用的初始化系统,负责启动和管理操作系统的各个组件。 systemd 的设计目标是提高系统启动速度、优化资源管理和提供更强大的服务管理功能。它引入…...

抖音seo矩阵系统源代码开发部署分享
一、 开发步骤分享 抖音SEO矩阵系统源代码开发部署分享,需要经验丰富的开发人员和服务器管理人员,以下是大致的步骤: 确定你需要的功能和设计,确定开发人员和设计师的角色和任务分配,以及开发进度和计划。 确定服务器…...
FastJson在Java后端方面解析使用(二)
JSON现在常用来做前后端数据交互,两个蝴蝶飞只是简单的对JSON做一下讲解和简单使用。关于JSON,我还了解的远远不够。由于本人经验有限,嘴皮子不溜,所以学术性,概念性,底层性的知识点暂时不做介绍。文章中有错误之处…...
PyTorch深度学习实战(5)——计算机视觉基础
PyTorch深度学习实战(5)——计算机视觉基础 0. 前言1. 图像表示2. 将图像转换为结构化数组2.1 灰度图像表示2.2 彩色图像表示3 利用神经网络进行图像分析的优势小结系列链接0. 前言 计算机视觉是指通过计算机系统对图像和视频进行处理和分析,利用计算机算法和方法,使计算机…...
ImageReader保存图片转 opencvmat
目录 ImageReader 直接保存图片,没成功,格式是yuv420,需要转换 转opencv nv21保存图片,测试ok rgb888 data保存图片: ImageReader 直接保存图片,没成功,格式是yuv420,需要转换 …...

【vue3+ts项目】配置husky+配置commitlint
上一篇文章中配置了eslint校验代码工具 【vue3ts项目】配置eslint校验代码工具,eslintprettierstylelint 1、配置husky 每次手动执行命令才能格式化代码,如果有人没有格式化就提交到远程仓库,这个规范就起不到作用了,所有需要强…...
html实现iframe全屏
前言 html浏览器全屏操作,基于jquery iframe全屏、指定标签全屏 实现 css /** 全屏*/ .lay-dbclick-box{position: relative;width: 100%;height: 100%; } .lay-dbclick-screen{position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 999999999…...

【es6】中的Generator
Generator 一、Generator 是什么?1.1 与普通函数写法不一样,有两个不同 二、Generator 使用2.1 书写方法 三、yield语句3.1 yield和return3.2 注意事项3.3 yield*语句3.4 yield*应用 四、next方法4.1参数4.2 运行逻辑 五、异步解决方案六、Generator相关…...

桥梁安全监测方法和内容是什么?
桥梁安全监测方法和内容是什么?桥梁监测是保障桥梁安全和稳定的重要手段。随着科技的进步,桥梁监测技术和设备不断完善,监测内容也越来越全面。本文万宾科技小编将为大家介绍桥梁安全监测的方法和内容,以期帮助大家更好地了解这一领域。 桥梁…...
prometheus部署及钉钉告警集成Grafana
1、准备工作 安装包 📎alertmanager-0.23.0.linux-amd64.tar.gz 📎node_exporter-1.3.1.linux-amd64.tar.gz 📎prometheus-webhook-dingtalk-1.4.0.linux-amd64.tar.gz 服务端口 Prometheus 9090 node_exporter 9100 alertmanager …...

Java百度提前批面试题
今天分享百度提前批的 Java 后端开发面经,整体上考察的点挺多的,主要重点考察了网络i/o、网络协议、linux系统、mysql,Java 问的不多,可能是百度的后端开发的语言不是主要以 Java 为主,所以重点看面试者的计算机基础是…...
Go语言中的Oop面向对象
Go In OOp 一、 Go是面向对象的吗?二、Structs Instead of Classes 结构体 - OOP in Go三、 Composition Instead of Inheritance 组合嵌套 - OOP in Go1.Composition by embedding structs2. Embedding slice of structs 四、Polymorphism 多态 - OOP in Go1. Polymorphism u…...
Duplicate keys detected: ‘1‘. This may cause an update error.
报错 Duplicate keys detected: ‘1’. This may cause an update error. 注释: 检测到重复密钥:‘1’。这可能会导致更新错误。 解决 首先判断是因为for循环导致的,检查是否出现重复。 笔者是同一个页面两处for循环导致...

C++(8.21)c++初步
1.斐波那契: #include <iostream> #include<iomanip>using namespace std;int main() {cout << "Hello World!" << endl;int a[10];for(int i0;i<10;i){if(0i||1i){a[i]1;}elsea[i]a[i-1]a[i-2];cout <<setw(4) <&l…...

【【Verilog典型电路设计之log函数的Verilog HDL设计】】
Verilog典型电路设计之log函数的Verilog HDL设计 log函数是一种典型的单目计算函数,与其相应的还有指数函数、三角函数等。对于单目计算函数的硬件加速器设计一般两种简单方法:一种是查找表的方式;一种是使用泰勒级数展开成多项式进行近似计算。这两种方式在设计方…...
数字放大(C++)
系列文章目录 1.进阶的卡沙_睡觉觉觉得的博客-CSDN博客 2. 数1的个数_睡觉觉觉得的博客-CSDN博客 3. 双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客 4. 足球联赛积分_睡觉觉觉得的博客-CSDN博客 5. 大减价(一级)_睡觉觉觉得的博客-CSDN博客 6. 小写字母的判断_睡觉觉觉得…...

FOC控制框架图
pmsm电机数学模型以及FOC控制框图(开源小项目FOC控制BLDC电机)_foc 框图_栋哥爱做饭的博客-CSDN博客 电机控制----FOC框架讲解_foc电机控制_修才生的博客-CSDN博客...
Spring工具类(获取bean,发布事件)
spring-beans-5.3.1.jar Component public final class SpringUtils implements BeanFactoryPostProcessor{/*** Spring应用上下文环境*/private static ConfigurableListableBeanFactory beanFactory;//初始化成员变量Overridepublic void postProcessBeanFactory(Configurab…...

腾讯云和阿里云服务器折扣对比_看看哪家划算?
阿里云服务器和腾讯云服务器根据购买时长可以享受一定的优惠折扣,综合对比下来腾讯云折扣更低,阿腾云来对比下阿里云和腾讯云的云服务器根据购买时长可以享受的常规折扣对比: 目录 阿里云和腾讯云折扣对比 阿里云服务器常规折扣 腾讯云服…...
GO语言中的Defer与Error异常报错详细教程
目录标题 一、Defer1. Example2. Deferred methods 延迟方法3. Arguments evaluation 延迟参数4. Stack of defers 延迟程序堆栈5. Practical use of defer 实际使用 二、Error1. Example2. PathError3. DNSError4. Direct Comparison 直接比较5. Do not ignore errors 不要忽略…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...