『运维备忘录』之 Systemd 命令详解

运维人员不仅要熟悉操作系统、服务器、网络等只是,甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作,持续给大家更新运维工作所需要接触到的知识点,希望大家喜欢。

今天我们要讲的是 Systemd 


 

一、简介

systemd 是一个 Linux 系统基础组件的集合,提供了一个系统和服务管理器,运行为 PID 1 并负责启动其它程序。功能包括:支持并行化任务;同时采用 socket 式与 D-Bus 总线式启用服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。

systemd 支持 SysV 和 LSB 初始脚本,可以替代 sysvinit。除此之外,功能还包括日志进程、控制基础系统配置,维护登陆用户列表以及系统账户、运行时目录和设置,可以运行容器和虚拟机,可以简单的管理网络配置、网络时间同步、日志转发和名称解析等。

二、基本用法

systemctl list-dependencies  # 显示单元的依赖关系
systemctl list-sockets       # 列出套接字和激活的内容
systemctl list-jobs          # 查看活动的 systemd 作业
systemctl list-unit-files    # 查看单元文件及其状态
systemctl list-units         # 显示单位是否已加载/活动
systemctl get-default        # 列出默认目标(如运行级别)
systemctl reboot             # 重启系统
systemctl poweroff           # 关闭系统
systemctl emergency          # 进入紧急模式
systemctl default            # 返回默认目标

systemctl stop service             # 停止正在运行的服务
systemctl start service            # 启动服务
systemctl restart service          # 重新启动正在运行的服务
systemctl reload service           # 重新加载服务中的所有配置文件
systemctl daemon-reload            # 必须运行以重新加载更改的单元文件
systemctl status                   # 查看服务是否正在运行/启用
systemctl --failed                 # 显示未能运行的服务
systemctl reset-failed             # 将任何单位从失败状态重置
systemctl enable service           # 使服务在启动时启动
systemctl disable service          # 禁用服务 - 不会在启动时启动
systemctl show service             # 显示服务(或其他单元)的属性
systemctl edit service             # 创建片段以放入单元文件
systemctl edit --full service      # 编辑整个单元文件以进行服务
systemctl -H host status network   # 远程运行任何 systemctl 命令

journalctl	                       # 显示所有收集的日志消息
journalctl -u network.service	   # 查看网络服务消息
journalctl -f	                   # 关注出现的消息
journalctl -k	                   # 仅显示内核消息

三、SysVinit 到 Systemd

Linux服务启动流程取决于所使用的初始化系统,现代Linux发行版中的两个主要初始化系统是systemd和SysVinit。

systemd是红帽7版本(其他如红旗7等相对应版本)及以上版本所普遍使用;SysVinit是7版本以下所普遍使用。顾名思义,systemd被设计用来改进sysvinit的缺点,所谓的升级加强版。systemd的目标是:尽可能启动更少进程;尽可能将更多进程并行启动。systemd尽可能减少对shell脚本的依赖。传统sysvinit使用inittab来决定运行哪些shell脚本,大量使用shell脚本被认为是效率低下无法并行的原因。

Systemd和SysVinit命令对比:

SysVinitSystemd说明
service SERVICE_NAME startsystemctl start SERVICE_NAME用于启动服务(不重启持久)
service SERVICE_NAME stopsystemctl stop SERVICE_NAME用于停止服务(不永久重启)
service SERVICE_NAME restartsystemctl restart SERVICE_NAME用于停止然后启动服务
service SERVICE_NAME reloadsystemctl reload SERVICE_NAME重新加载配置文件而不中断挂起的操作
service SERVICE_NAME condrestartsystemctl condrestart SERVICE_NAME如果服务已在运行,则重新启动
service SERVICE_NAME statussystemctl status SERVICE_NAME判断服务当前是否正在运行
chkconfig SERVICE_NAME onsystemctl enable SERVICE_NAME打开服务,以便在下次启动时启动,或其他触发器
chkconfig SERVICE_NAME offsystemctl disable SERVICE_NAME为下次重新启动或任何其他触发器关闭服务
chkconfig SERVICE_NAMEsystemctl is-enabled SERVICE_NAME用于检查服务是否配置为在当前环境中启动
chkconfig –listsystemctl list-unit-files –type=service (or)
ls /etc/systemd/system/*.wants/
打印一个服务表,列出每个配置的运行级别打开或关闭
chkconfig –list | grep 5:onsystemctl list-dependencies graphical.target打印启动到图形模式时将启动的服务表
chkconfig SERVICE_NAME –list

ls /etc/systemd/system/*.wants/

SERVICE_NAME.service

用于列出此服务配置为打开或关闭的级别
chkconfig SERVICE_NAME –addsystemctl daemon-reload在创建新服务文件或修改任何配置时使用

Systemd和SysVinit目标运行级别对比:

SysVinitSystemd说明
0runlevel0.target, poweroff.target停止系统
1, s, singlerunlevel1.target, rescue.target单用户模式
2, 4runlevel2.target, runlevel4.target, multi-user.target用户定义/站点特定的运行级别。 默认情况下,与 3 相同
3runlevel3.target, multi-user.target多用户,非图形。 用户通常可以通过多个控制台或通过网络登录
5runlevel5.target, graphical.target多用户,图形。 通常具有运行级别 3 的所有服务以及图形登录
6runlevel6.target, reboot.target重启
emergencyemergency.target应急外壳

资料参考:https://systemd.io/ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/369737.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java实现批量视频抽帧2.0

继上个版本 对其进行略微升级 &#x1f913; 上个版本仅对一个视频进行抽帧处理 此版本可对一个文件夹内的全部视频进行抽帧并对应的文件夹进行帧图片的保存 1️⃣配置pom.xml &#xff08;保持上次不变&#xff09; <dependencies><dependency><grou…

Jmeter组件执行顺序与作用域(超详细整理)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;薪资嘎嘎涨 一、Jmeter重要组件 1&#xff09;配置元件---Config Element&#xff1a; 用于初始化默认值…

缓存组件Caffeine的使用

caffeine是一个高性能的缓存组件&#xff0c;在需要缓存数据&#xff0c;但数据量不算太大&#xff0c;不想引入redis的时候&#xff0c;caffeine就是一个不错的选择。可以把caffeine理解为一个简单的redis。 1、导入依赖 <!-- https://mvnrepository.com/artifact/com.git…

Apache POI与easyExcel:Excel文件导入导出的技术深度分析

在处理Excel文件时&#xff0c;Java开发者经常会面临多种选择&#xff0c;其中Apache POI和easyExcel是两个非常受欢迎的选择。这两个库都提供了强大的Excel文件处理功能&#xff0c;但在性能、内存使用、API设计以及扩展性方面有所不同。本文将深入分析Apache POI和easyExcel在…

留学生乱用ChatGPT真的太致命!被认定学术不诚信直接被退学

01.ChatGPT留学生神器&#xff1f;作业论文全靠它&#xff1f; 近期留学圈内最火热的话题&#xff0c;肯定是关于ChatGPT。 “这个python作业我写不来&#xff0c;让ChatGPT帮我直接生成code就好了。” “论文英文的写不来&#xff0c;ChatGPT直接生成一篇essay&#xff0c;…

C语言实现跳表(附源码)

最近在刷一些链表的题目&#xff0c;在leetcode上有一道设计跳表的题目&#xff0c;也是通过查阅各种资料&#xff0c;自己实现出来&#xff0c;感觉这是种很神奇的数据结构。 一.简介 跳表与红黑树&#xff0c;AVL树等&#xff0c;都是一种有序集合&#xff0c;那既然是有序…

修复wordpress安全漏洞

1. 问题描述&#xff1a; 用wordpress建了一个网站&#xff0c;但是学校反映说存在安全漏洞&#xff0c;通过接口https://xxx.xxx.edu.cn/?rest_route/wp/v2/users/可以访问到一些内容&#xff0c;希望可以关闭这个接口。 2. 解决办法 一共两步 &#xff08;1&#xff09;在fu…

Linux网络编程——udp套接字

本章Gitee地址&#xff1a;udp套接字 文章目录 创建套接字绑定端口号读取数据发送数据聊天框输入框 创建套接字 #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol);int domain参数&#xff1a;表面要创建套接字的域…

Leetcode刷题笔记题解(C++):99. 恢复二叉搜索树

思路&#xff1a; 二叉搜索树的中序遍历是递增序列&#xff0c;可以在中序遍历中记录两个需要交换的节点&#xff0c;直到遍历完毕之后&#xff0c;对两个节点的值进行交换即可得到正确的二叉搜索树 比如中序序列为 1 2 3 7 5 6 4&#xff08;7比5大记录7为x&#xf…

Text Mesh Pro图文混排如何对任何图片都能实现

1&#xff09;Text Mesh Pro图文混排如何对任何图片都能实现 2&#xff09;Unity iOS平台的小图占用特别大的内存 3&#xff09;只在编辑器内&#xff0c;纹理不开启Read&Write情况下&#xff0c;如何获取纹理所有颜色值 4&#xff09;准备在海外发行游戏&#xff0c;有哪些…

STM32TIM时钟(1)

文章目录 前言一、介绍部分TIM简介了解定时器类型基本定时器框图通用定时器框图高级定时器框图定时器级联关系 所需简化定时器中断流程图时序部分预分频器时序计数器时序无影子寄存器计数器时序有影子寄存器计数器时序 时钟树 二、实例部分使用定时器计数使用对射红外传感器来控…

PyTorch学习系列教程:卷积神经网络【CNN】

本篇继续深度学习三大基石之卷积神经网络&#xff08;CNN&#xff09;——一类在计算机视觉领域大放异彩的网络架构。 LeNet5——CNN的开山之作 前篇介绍了DNN网络&#xff0c;理论上通过增加网络层数可以逼近任意复杂的函数&#xff0c;即通用近似定理。但在实践过程中&#…

Oracle 面试题 | 09.精选Oracle高频面试题

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Vue3动态CSS

Vue3动态CSS 动态css值动态css对象module模式 动态css值 <template><div class"div">动态css</div> </template><script setup langts> import {ref} from vueconst style ref(blue) </script><style scoped> .div{colo…

【30秒看懂大数据】数据存储

PS:本文属专栏第27篇 公众号&#xff1a;知幽科技 简单说 数据存储是指将数据保存在计算机或其他媒体上&#xff0c;以备将来检索和使用&#xff0c;就像保存文件在电脑硬盘或云存储中一样。 举例理解 听说周末要下大雨&#xff0c;所以我临时决定下班后去超市采购下周末…

深入理解Istio服务网格(一)数据平面Envoy

一、服务网格概述(service mesh) 在传统的微服务架构中&#xff0c;服务间的调用&#xff0c;业务代码需要考虑认证、熔断、服务发现等非业务能力&#xff0c;在某种程度上&#xff0c;表现出了一定的耦合性 服务网格追求高级别的服务流量治理能力&#xff0c;认证、熔断、服…

解锁1688关键字搜索API接口:从海量商品中快速定位,开启商业智能新篇章!

1688关键字搜索API接口技术详解 一、概述 1688关键字搜索API接口是阿里巴巴提供的一套应用程序接口&#xff0c;允许第三方开发者通过关键字搜索1688平台上的商品信息。通过使用这个接口&#xff0c;开发者可以快速获取符合特定关键字的商品列表、详情、属性等信息&#xff0…

Fink CDC数据同步(一)环境部署

1 背景介绍 Apache Flink 是一个框架和分布式处理引擎&#xff0c;用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行&#xff0c;并能以内存速度和任意规模进行计算。 Flink CDC 是 Apache Flink 的一组源连接器&#xff0c;基于数据库日志的…

MySQL进阶45讲【13】为什么表数据删掉一半,表文件大小不变?

1 前言 有些小伙伴在删数据库数据时&#xff0c;会产生一个疑问&#xff0c;我的数据库占用空间大&#xff0c;我把一个最大的表删掉了一半的数据&#xff0c;怎么表文件的大小还是没变&#xff1f; 那么这篇文章&#xff0c;就介绍一下数据库表的空间回收&#xff0c;看看如…

智安网络2023年度回顾:我与您共存、信任与安全的一年

在2023年这一全球格局加速演变、经济复苏的关键时期&#xff0c;网络安全威胁呈现出前所未有的复杂性。作为中国网络安全行业的新兴企业&#xff0c;智安网络凭借其卓越的安全策略、技术创新和客户服务&#xff0c;书写了企业发展的辉煌篇章。 智安网络在应对网络安全挑战方面…