【Ubuntu】systemd 及其工具

2023-11-02

什么是 systemd

systemd 是一个用于管理 Linux 系统启动过程和系统服务的初始化系统。它是现代 Linux 发行版中广泛采用的初始化系统,负责启动和管理操作系统的各个组件。

systemd 的设计目标是提高系统启动速度、优化资源管理和提供更强大的服务管理功能。它引入了一些新的概念和功能,包括并行启动、按需启动服务、基于套接字的激活、更好的日志记录和跟踪等。

以下是 systemd 的一些主要特点和组件:

  1. 单位(Units):systemd 使用单位(units)来表示系统组件和服务。每个单位代表一个特定的系统资源或功能,例如服务、套接字、设备等。每个单位都有一个对应的配置文件,用于定义它的属性和依赖关系。

  2. systemd 套件:systemd 包含了一系列工具和服务,用于系统的管理和操作。其中一些重要的组件包括 systemd 命令行工具(如 systemctl、journalctl)、systemd 日志系统(journal)、systemd 网络管理(systemd-networkd)等。

  3. 并行启动:systemd 实现了并行启动,可以同时启动多个系统服务,提高系统启动速度。

  4. 依赖关系和顺序控制:通过单位之间的依赖关系,systemd 可以确保服务在其依赖的其他服务启动之后才启动。这样可以更精确地控制启动顺序和服务之间的关联。

  5. 套接字激活:systemd 支持基于套接字的激活,允许服务在需要时由请求者动态启动,而不是持续运行。

  6. 日志记录和跟踪:systemd 使用 journalctl 工具来记录和管理系统日志。它支持强大的日志过滤和查询功能,可以更方便地查看和分析系统日志。

systemd 的引入带来了对传统 SysV init 系统的改进,提供了更快、更灵活和更可靠的系统初始化和服务管理功能。它已经成为许多主流 Linux 发行版的默认初始化系统,如 Ubuntu、Fedora、CentOS 等。

systemd 相关工具

下面是 systemd 相关工具的简要说明和使用方法:

  1. systemd:systemd 初始化系统的主要命令,用于启动和管理系统服务,管理单位等。它可以使用 systemctl 命令来启动、停止、重启、启用、禁用和管理系统服务。

  2. systemd-analyze:用于分析系统启动时间和性能的工具。可以使用 systemd-analyze blame 命令来查看每个单位的启动时间,使用 systemd-analyze plot 命令生成启动性能图。

  3. systemd-ask-password:用于与用户交互以获取密码或其他验证信息的工具。可以使用 systemd-ask-password 命令来请求密码或其他验证信息,并将结果传递给其他命令或服务。

  4. systemd-cat:将标准输入或文件的内容输出到 systemd 日志(journal)的命令。可以使用重定向或管道将消息发送到 journal,例如 echo "Hello" | systemd-cat

  5. systemd-cgls:用于显示 cgroups 层次结构的命令。可以使用 systemd-cgls 命令来列出当前系统中的 cgroups 以及它们的层次关系。

  6. systemd-cgtop:用于显示正在运行的 cgroups 中的进程和资源使用情况的命令。使用 systemd-cgtop 命令可以实时监视 cgroups 中的进程资源。

  7. systemd-delta:用于比较和显示文件和单位之间的差异的工具。可以使用 systemd-delta 命令来比较系统配置文件和单位文件的更改情况。

  8. systemd-tty-ask-password-agent:系统密码代理程序,用于在 tty 终端上向用户请求密码。它与 systemd-ask-password 命令一起使用,用于安全地处理密码输入。

  9. systemd-detect-virt:用于检测当前系统是否运行在虚拟化环境中的工具。可以使用 systemd-detect-virt 命令来检测系统是否是在虚拟机或容器中运行。

  10. systemd-escape:用于转义字符串以在 systemd 配置文件中使用。可以使用 systemd-escape 命令将特殊字符转换为适合在配置文件中使用的形式。

  11. systemd-hwdb:硬件数据库工具,用于管理和查询 systemd 的硬件数据库。它用于设备和驱动程序的匹配和识别。

  12. systemd-id128:用于生成或处理 128 位的唯一标识符(UUID)的工具。

  13. systemd-inhibit:用于阻止或延迟系统操作的工具。可以使用 systemd-inhibit 命令来阻止休眠、关机、重启等操作。

  14. systemd-machine-id-setup:用于生成或设置机器 ID 的工具。可以使用 systemd-machine-id-setup 命令来生成新的机器 ID 或设置现有的机器 ID。

  15. systemd-mount:用于挂载和卸载文件系统的工具。可以使用 systemd-mount 命令来挂载或卸载文件系统,例如 systemd-mount /dev/sdb1 /mnt

  16. systemd-notify:用于向 systemd 发送状态通知的工具。可以使用 systemd-notify 命令发送自定义状态和通知给 systemd。

  17. systemd-path:用于查询系统文件路径的工具。可以使用 systemd-path 命令来获取各种系统路径,如配置文件路径、单元文件路径等。

  18. systemd-resolve:用于系统的 DNS 解析和域名解析的工具。可以使用 systemd-resolve 命令来查询 DNS 信息、解析域名等。

  19. systemd-run:用于在不创建新服务单元文件的情况下运行临时任务的命令。可以使用 systemd-run 命令在不创建新服务单元文件的情况下运行临时任务,例如 systemd-run --unit=my-service /usr/bin/my-command

  20. systemd-socket-activate:用于在需要时动态激活套接字的工具。可以使用 systemd-socket-activate 命令来启动和管理套接字单元。

  21. systemd-stdio-bridge:用于在标准输入/输出之间转发数据的工具。它可以将数据从一个程序的标准输出传递到另一个程序的标准输入。

  22. systemd-sysusers:用于管理和创建系统用户和组的工具。可以使用 systemd-sysusers 命令来创建、修改和删除系统用户和组。

  23. systemd-tmpfiles:用于管理临时文件和目录的工具。可以使用 systemd-tmpfiles 命令来创建、清理和维护临时文件和目录。

  24. systemd-umount:用于卸载文件系统的工具。可以使用 systemd-umount 命令来卸载已挂载的文件系统,例如 systemd-umount /mnt

这些工具都具有不同的功能和用途,用于系统管理和操作。您可以在终端中使用相应的命令加上适当的参数来调用这些工具,并根据每个工具的特定用法提供必要的参数和选项。您可以使用各个工具的 man 页面或命令帮助来获取更详细的信息和使用示例,例如 man systemd-analyzesystemd-ask-password --help

环境

OS : unbuntu 20.04

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Ubuntu】systemd 及其工具 的相关文章

  • 从 Python 调用 PARI/GP

    我想打电话PARI GP http pari math u bordeaux fr dochtml gpman html仅从Python计算函数nextprime n 对于不同的n是我定义的 不幸的是我无法得到帕里蟒蛇 http code
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 无法在 mysql-apt-config [Ubuntu 14.04] 中选择“确定”

    我使用的是 Ubuntu 14 04 sudo apt get update总是给我这个选项来配置 mysql apt config 我尝试选择版本 按 tab gt 在 确定 上突出显示的键 按 Enter 但没有任何反应 它再次返回并突
  • 在 Ubuntu 中使用 Gstreamer 通过 RTP 协议流式传输 Mp4 视频

    我正在尝试从本地目录获取视频文件 启用来自服务器的流并从客户端捕获这些帧 我使用了以下管道 服务器端 gst launch v filesrc location home gokul Videos Econ TestVideo radioa
  • 如何在 Linux shell 中将十六进制转换为 ASCII 字符?

    假设我有一个字符串5a 这是 ASCII 字母的十六进制表示Z 我需要找到一个 Linux shell 命令 它将接受一个十六进制字符串并输出该十六进制字符串代表的 ASCII 字符 所以如果我这样做 echo 5a command im
  • 将 PDF 转换为 600dpi 的 TIFF 和 jpg 96 dpi

    我想使用 ImageMagick 从 Python 脚本将 pdf 转换为 600 dpi 的 tiff 和 96 dpi 的 jpg 我使用 imagemagick 命令行完成了这项任务 但我想使用python中的Imagemagick将
  • NPTL 和 POSIX 线程有什么区别?

    NPTL 和 POSIX 线程之间的基本区别是什么 这两者是如何演变的 POSIX 线程 pthread 不是一个实现 它是几个函数的 API 规范 纸上的标准 英文 其名称以pthread 以及定义在
  • Linux:在文件保存时触发 Shell 命令

    我想在修改文件时自动触发 shell 命令 我认为这可以通过注册 inotify 挂钩并调用来在代码中完成system 但是是否有更高级别的 bash 命令可以完成此任务 尝试 inotify 工具 我在复制链接时遇到问题 抱歉 但 Git
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 有谁知道在哪里定义硬件、版本和序列号。 /proc/cpuinfo 的字段?

    我想确保我的 proc cpuinfo 是准确的 目前它输出 Hardware am335xevm Revision 0000 Serial 0000000000000000 我可以在代码中的哪里更改它以给出实际值 这取决于 Linux 的
  • ubuntu:升级软件(cmake)-版本消歧(本地编译)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我的机器上安装了 cmake 2 8 0 来自 ubuntu 软件包 二进制文件放置在 usr bin cmake 中 我需要将 cmake 版本至少
  • 没有名为“PIL”的模块

    当我尝试时遇到错误 from PIL import Image ImageFilter 在 Python 文件中我收到一条错误消息ModuleNotFoundError No module named PIL 到目前为止 我已经尝试卸载 重
  • docker容器大小远大于实际大小

    我正在尝试从中构建图像debian latest 构建后 报告的图像虚拟大小来自docker images命令为 1 917 GB 我登录查看尺寸 du sh 大小为 573 MB 我很确定这么大的尺寸通常是不可能的 这里发生了什么 如何获
  • Ubuntu 上的 Vim:文本渲染错误,奇怪地重复和消失

    不久前我在 ubuntu 12 04 上安装了 vim 有时 当我在代码上运行光标 使用键盘 而不是鼠标 时 文本会消失 就好像渲染字符时出现问题一样 当我再次运行光标时 它通常会重新出现 这似乎是随机发生的 但通常足以让人恼火 为了更清楚
  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • 在初始化脚本中切换用户?

    这是我的 Ubuntu 工作站上的初始化脚本 我需要以除 root 之外的其他用户身份运行命令 但我就是不知道应该如何完成它 两者都不sudo u or su newuser似乎有效 剧本 respawn console none star
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • 如何更改 Apache 服务器的根目录? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何更改 Apache 服务器的文档根目录 我基本上想要localhost从 来 users spencer projects目录而不是

随机推荐

  • 概率论 - 常见分布(及其分布表)

    分布表在对应的分布下边 离散型的分布 一 0 1分布 二 几何分布 三 二项分布 四 泊松分布 五 超几何分布 连续性的分布 一 均匀分布 二 指数分布 三 正态分布与标准正态分布 格格不入的三个分布 一 卡方分布 二 t 分布 三 F 分
  • RabbitMQ延时消息队列

    1 延时队列介绍 延时队列即放置在该队列里面的消息是不需要立即消费的 而是等待一段时间之后取出消费 那么 为什么需要延迟消费呢 我们来看以下的场景 网上商城下订单后30分钟后没有完成支付 取消订单 如 淘宝 去哪儿网 系统创建了预约之后 需
  • visual studio 2019 sql server localdb 数据库中文乱码解决方法

    今天使用localdb学习asp net core时 发现写入localdb数据库的中文为乱码 按照网上的方法解决 却无法显示 这里只有用sql语句更改了 参考这个 但我试了不成功 用sql语句更改可以 https www cnblogs
  • vue 生成条形码、二维码

    条形码 1 安装 cnpm install jsbarcode save 2 引入 import JsBarcode from jsbarcode 3 二维码容器
  • STM32理论 —— 定时器、时钟

    文章目录 1 定时器 1 1 分类与简介 1 1 1 分类与主要功能特点 1 1 2 三种常用的定时器简介 1 1 3 三种计数模式 1 1 4 定时器计数原理 1 1 5 如何快速定位定时器对应IO 引脚 1 2 时钟来源 1 3 通用定
  • MFC中传递消息的方法

    通过自定义消息实现进程间通信的方法 消息分为两种 即系统消息和用户 程序设计者 自定义消息 系统消息定义从0到0x3FF 可以使用0x400到0x7FFF定义自己的消息 Windows把0x400定义为WM USER 如果想定义自己的一个消
  • YOLOv5改进系列(23)——替换主干网络之MobileViTv2(移动视觉 Transformer 的高效可分离自注意力机制)

    YOLOv5改进系列 前期回顾 YOLOv5改进系列 0 重要性能指标与训练结果评价及分析 YOLOv5改进系列 1 添加SE注意力机制
  • 使用Python,OpenCV沿着轮廓寻找极值点

    使用Python OpenCV沿着轮廓寻找极值点 这篇博客将介绍如何使用Python OpenCV沿着轮廓寻找极值点 找到最北 最南 最东和最西 x y 坐标 虽然这项技能本身并不有用 但它通常被用作更高级计算机视觉应用程序的预处理步骤 这
  • 组态王和plc之间如何建立通讯?

    这两者之间可以有很多种通讯方式 比如 PROFIBUS MPI 以太网 DDE OPC MODBUS 自由口等 主要还是要看你的PLC选型 以及组网方式 现在最常见 也最常用的大概要数RS485 MODBUS协议下的无线通讯方式了 我们假定
  • 中国十大最狠的流氓网站曝光!

    动了流氓软件的发展 谁又从流氓软件中获利 揭开流氓软件背后的始佣者 网易科技独家选出中国十大流氓网站 以下是网易科技评选的十大流氓网站 1 3721 com 中文实名 这个是流氓软件的开山鼻祖 就是因它将中国互联网带入到一个流氓时代 这里就
  • 今日头条2018年校招视频面试过程 一面(编程题两道)

    首先面试官让自我介绍一下 然后问你做过的项目问你擅长的语言 你与其他同学相比的优点 等等 有两道笔试题 1 0 9a z表示36进制 写一个方法计算36进制的和 2 单链表进行反转 附上我写的代码 仅供参考 java代码实现 1 36进制求
  • elementUI 框架组件

    文章目录 elementUI 框架学习笔记 1 创建一个vue cli脚手架 2 Container 布局容器 3 Layout 布局 4 按钮 button 5 链接 6 表单系列 6 1 input 输入框 6 1 1 基础用法 6 1
  • vue 项目中使用 Loading 组件

    当在vue项目中请求后台接口时 常常会使用 loding 过渡数据的加载时间 如果 loading 作为一个全局的加载状态 应该写在项目中的App vue中
  • 大数据项目实战——基于某招聘网站进行数据采集及数据分析(五)

    大数据项目实战 第五章 数据分析 文章目录 大数据项目实战 学习目标 一 设计 Hive 数据仓库 1 事实表 ods jobdata origin 2 维度表 t salary detail 3 维度表 t company detail
  • 15 jQuery Plugins For A Better Photo Gallery And Slideshow

    Photo Gallery picture gallery or slideshow are the best way to showcase your images photos to your readers There are a l
  • 设计原则之组合复用原则的概念及实例代码操作

    场景 例题 教育局的学校管理中包括小学 初中和高中等三个级别老师与学生 不使用组合复用原则的解法 代码实现 采用继承实现 class Person class Teachers extends Person class Students e
  • 基于stm32f1的lora开发基础通信实验

    一 实验条件 环境 win10专业版 keil uv5 串口调试助手 stm32f1系列单片机 as32lora模块 这里是泽耀科技的as32 ttl 100 二 实现功能 1 使用定时器将底层数据通过as32每隔1秒向上层串口发送一段数据
  • 二、RabbitMQ在某商城项目中的使用案例

    一 在对商品增删改查的时候发送消息 在item service中引入amqp依赖
  • 七牛云完整详细配置(从零到一)

    创建存储空间 自定义域名 配置域名的 CNAME 1 复制刚刚新建的域名的CNAME 2 登录域名服务商 这里以阿里云为例 的控制台 添加域名解析 保存后回到七牛存储空间的控制台 可以看到加速域名绑定状态为处理中 最久应该是10分钟 使用七
  • 【Ubuntu】systemd 及其工具

    什么是 systemd systemd 是一个用于管理 Linux 系统启动过程和系统服务的初始化系统 它是现代 Linux 发行版中广泛采用的初始化系统 负责启动和管理操作系统的各个组件 systemd 的设计目标是提高系统启动速度 优化