linux系统服务管理systemctl 和systemd

news/2024/11/17 8:10:08/

文章目录

    • Linux中Systemd的Unit文件
      • Systemd 所支持的12种 Unit 文件类型
      • Unit 文件位置优先级
    • 相关工具对比
      • systemctl和systemd
      • sysctl配置内核参数

Linux中Systemd的Unit文件

参考:Linux中Systemd的Unit文件详细介绍
Unit 文件统一了过去各种不同的系统资源配置格式,例如服务的启/停、定时任务、设备自动挂载、网络配置、设备配置、虚拟内存配置等。而 Systemd 通过不同的通过文件的后缀名来区分这些配置文件

一般会分为3部分:[Unit]、[Service]和[Install]。[Service]是.service所特有的, [Unit]和[Install] 段是所有 Unit 文件通用的。

[Install]中的配置需要通过 systemctl enable 命令来激活,通过 systemctl disable 命令来禁用。另外这部分配置的目标模块通常是特定启动级别的 .target 文件,用来使得服务在系统启动时自动运行。

Systemd 所支持的12种 Unit 文件类型

Unit 文件类型说明
.automount用于控制自动挂载文件系统。自动挂载即当某一目录被访问时系统自动挂载该目录,这类 unit 取代了传统 Linux 系统的 autofs 相应功能
.device对应 /dev 目录下设备,主要用于定义设备之间的依赖关系
.mount定义系统结构层次中的一个挂载点,可以替代过去的 /etc/fstab 配置文件
.path用于监控指定目录变化,并触发其他 unit 运行
.scope这类 unit 文件不是用户创建的,而是 Systemd 运行时自己产生的,描述一些系统服务的分组信息
.service封装守护进程的启动、停止、重启和重载操作,是最常见的一种 unit 类型
.slice用于描述 cgroup 的一些信息,极少使用到,一般用户就忽略它吧
.snapshot这种 unit 其实是 systemctl snapshot 命令创建的一个描述 Systemd unit 运行状态的快照
.socket监控系统或互联网中的 socket 消息,用于实现基于网络数据自动触发服务启动
.swap定义一个用于做虚拟内存的交换分区
.target用于对 unit 进行逻辑分组,引导其他 unit 的执行。它替代了 SysV 中运行级别的作用,并提供更灵活的基于特定设备事件的启动方式。例如 multi-user.target 相当于过去的运行级别5,而 bluetooth.target 在有蓝牙设备接入时就会被触发
.timer封装由system的里面由时间触发的动作, 替代了 crontab 的功能

Unit 文件位置优先级

  • Unit 文件按照 Systemd 约定,应该被放置在指定的3个系统目录之一,如下表,优先级递减。
  • 若有同名的文件,仅执行优先级高的路径下的配置文件
路径说明
/etc/systemd/system系统或用户提供的配置文件
/run/systemd/system软件运行时生成的配置文件
/usr/lib/systemd/system系统或第三方软件安装时添加的配置文件

相关工具对比

systemctl和systemd

  • systemctl 是一个新的系统服务管理工具,它是 systemd 系统和服务管理器的一部分。 用于控制和管理systemd系统和服务。它可以启动、停止、重启和管理系统服务。使用systemctl命令,可以查看和管理当前运行的所有系统服务的状态、日志和依赖关系等信息

  • systemd 是一个用于 Linux启动进程的系统和服务管理器。

sysctl配置内核参数

sysctl是一个内核参数调整工具,用于查看和修改内核参数。

用法举例:

  • 使用sysctl net.ipv4.tcp_fin_timeout=30命令可以将TCP连接的超时时间设置为30秒。
  • -w 用此选项来改变一个sysctl设置。例:sysctl -w net.ipv4.ip_forward=1
  • -p 载入sysctl配置文件,如-p后未指定路径,则载入 /etc/sysctl.conf 例: sysctl -p /etc/sysctl.conf

http://www.ppmy.cn/news/1096625.html

相关文章

JAVA学习-IDEA创建父子项目

JAVA培训-创建父子项目 一、创建父模块 1、new一个新项目,如下图所示: 2、由于这里是父级Maven项目,所以什么都不用选,只需要将SpringBoot版本选成稳定的版本即可。后面带(SNAPSHOT),代表版本…

Kubernetes----基于kubeadm工具在CentOS7.9虚拟机上部署一主两从类型的Kubernetes集群环境

【原文链接】Kubernetes----基于kubeadm工具在CentOS7.9虚拟机上部署一主两从类型的Kubernetes集群环境 文章目录 一、虚拟机环境准备1.1 准备三台CentOS操作系统的虚拟机1.2 修改主机名1.3 确认CentOS的版本符合要求1.4 配置地址解析1.5 配置时间同步1.6 关闭防火墙1.7 禁用se…

Laravel系列开源Dcat admin礼盒商城后台管理项目

前言: 在最近能在与某位前段大佬,合作开发一款项目,这宽项目是由laravel框架搭建使用的Dcat admin框架所制作的一个后台的管理系统,前段制作的是一款小程序,虽说后台管理系统无论是前段还是后端都是千篇一律,但内容也是非常丰富。但本项目仅作为开源学习和技术交流&#xff0c…

MySQL学习之——多表查询

MySQL学习之——多表查询 上节课我们不是学习了外键吗?外键是在两张表之间建立联系。其实就能够引申到多表查询的范畴。 如果两张表没有通过外键建立连接的时候,这个时候能不能联合查询呢? 一、多表关系 1.1 一对多 案例:部门…

Android经典蓝牙与低功耗蓝牙开发相关知识

目录 1、需要知道的几个关键关键词1.1、蓝牙通信中是使用的UUID是什么?1.2、经典蓝牙1.3、低功耗蓝牙 2、如何获取不同设备类型的UUID2.1、手机类设备2.2、串口设备2.3、(BLE)低功耗蓝牙设备 3、(BLE)低功耗蓝牙与经典…

nodeJS连接mysql数据库的增删改查接口

首先,确保已在项目中安装了 mysql 模块(可以使用 npm install mysql 命令进行安装)。 const mysql require(mysql);// 创建数据库连接池 const pool mysql.createPool({host: 数据库主机名,user: 数据库用户名,password: 数据库密码,datab…

TSINGSEE青犀/视频分析/边缘计算/AI算法·人员/区域入侵功能——多场景高效运用

TSINGSEE青犀视频人员/区域入侵功能可对重要区域进行实时监测,对监控区域进行7*24全天候管控,当监测到有人员靠近、闯入时,AI算法后台就会立即发出告警及时通知管理人员,变被动“监督”为主动“监控”,真正做到事前预警…

Ubuntu系统下安装常用软件

安装MySQL 1、卸载清理残余 dpkg --list|grep mysqlsudo apt-get remove mysql-common2、升级apt sudo apt-get update3、安装MySQL sudo apt-get install mysql-server4、启动和关闭mysql的命令如下 #启动: sudo service mysql start#重启: sudo service mysql restart #…