首页 > 系统相关 >Rocky Linux 系列7 --- Service

Rocky Linux 系列7 --- Service

时间:2023-03-21 22:13:53浏览次数:119  
标签:systemd Rocky Service --- service unit Unit usr

一、概要

1. 环境

(1) Rocky Linux 9.1

2. systemd

systemd是Linux系统下的服务(Service)管理工具,从RHEL 7开始systemd作为默认的系统管理工具。它具备以下功能:

(1) 按需操作(启动/停止/重启)守护进程;

(2) 在系统启动时并行的启动守护进程;

(3) 守护进程依赖管理。

3. systemd units

systemd的一个重要概念就是单元(systemd units)。

(1) systemd units所在的不同目录代表不同的units:

/usr/lib/systemd/system/: 该目录存放由RPM包安装时产生的unit文件;

/run/systemd/system/: 存放在运行时创建的unit文件,这里的unit文件可以覆盖安装时产生的unit文件;

/etc/systemd/system/: 存放由"systemctl enable"创建的unit文件以及由个人手动创建的unit文件;

(2) systemd unit的不同类型:

Unit Type File Extension Description
Service unit .service 系统服务
Target unit .target systemd units组
Automount unit .automount 文件系统自动挂载点
Device unit .device 设备文件
Mount unit .mount 文件系统挂载点

二、Service Unit

1. 组成

一个xxx.service文件由三部分组成,分别是[Unit],[Service],[Install]。

[Unit]: 该部分的内容与unit类型无关,包含描述、对其他unit的依赖和unit行为;

[Service]: 这部分包含于unit类型相关的配置信息;

[Install]: 这部分的内容与使用命令"systemd enable/disable"安装相关;

2. [Unit]

Description: 描述信息,运行"systemctl status"时会显示该配置;

Documentation: 当前Unit文档的URL链接;

After/Before: 该Unit依赖的前置/后置Unit;

Requires: 当前Unit依赖的unit文件,如果找不到该文件则启动失败;

Wants: 弱依赖,如果没有找到该依赖,服务也可以启动;

Conflicts: 反向依赖,不能与当前unit共存的依赖;

例子:

[Unit]
Description=Postfix Mail Transport Agent
After=syslog.target network.target
Conflicts=sendmail.service exim.service   

3. [Service]

(1) Service Type: 服务类型,包含以下类型:

simple: 默认类型,系统将ExecStart对应的命令作为主进程;

forking: 服务启动时会有两个进程,一个是主进程会在启动之后退出;另一个是子进程对应ExecStart的配置,会在启动之后变成主进程;

Oneshot: 与simple类型,但是执行完成之后就退出;

此外,还有dbus、notify和idle类型。

(2) ExecStart: 当服务启动时需要执行的命令行;

此外,ExecStartPre和ExecStartPost与ExecStart相对应,它们分别于ExecStart之前和之后被执行。

(3) ExecStop: 服务被关闭时执行的命令行;

(4) ExecReload: 服务被Reload时需要执行的命令行;

(5) Restart: 服务被重启时需要执行的命令行;

(6) RemainAfterExit: 默认为false,如果设置为true则即使服务所对应的所有进程全部退出,该服务也会维持active状态。

该配置项在Service Type=Oneshot时比较有用。

(7) 例子

[Service]
Type=forking
PIDFile=/var/spool/postfix/pid/master.pid
EnvironmentFile=-/etc/sysconfig/network
ExecStartPre=-/usr/libexec/postfix/aliasesdb
ExecStartPre=-/usr/libexec/postfix/chroot-update
ExecStart=/usr/sbin/postfix start
ExecReload=/usr/sbin/postfix reload
ExecStop=/usr/sbin/postfix stop

4. [Install]

(1) Alias: 服务的别名,可用空格分割多个别名;

(2) RequiredBy: 依赖的服务列表,

(3) WantedBy

(4) Also: 指定其他需要与当前unit一起安装或卸载的unit;

5. 创建服务

(1) 创建服务文件

sudo touch /etc/systemd/system/example.service

(2) 赋权

sudo chmod 664 /etc/systemd/system/example.service

(3) 初始化

[Unit]
Description=An example service

[Service]
Type=forking
ExecStart=/usr/bin/emacs --daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=always

[Install]
WantedBy=default.target

(4) 加载启动

sudo systemctl daemon-reload
sudo systemctl enable --now example.service

三、参考

https://blog.thenets.org/how-to-create-a-service-for-fedora-rhel/

https://www.golinuxcloud.com/create-systemd-service-example/

标签:systemd,Rocky,Service,---,service,unit,Unit,usr
From: https://www.cnblogs.com/eagle6688/p/17241730.html

相关文章

  • C语言进阶--struct和union分析
    C语言中的struct可以看作变量的集合柔性数组即数组大小待定的数组C语言中可以有结构体产生柔性数组structsoftArray{intlen;intarry[];//不占用存储空间}......
  • 11-指针
    指针指针可以直接操作内存和硬件1.内存1.1内存含义内存含义:存储器:计算机的组成中,用来存储程序和数据,辅助CPU进行运算处理的重要部分。内存:内部存贮器,暂存程序/数......
  • m基于果蝇优化的K-means数据聚类分析matlab仿真
    1.算法描述果蝇优化算法FOA(FruitFlyOptimizationAlgorithm)是由台湾博士潘文超于2011年提出的,与蚁群算法和粒子群算法类似,是基于动物群体觅食行为演化出的一种寻求全局优......
  • 2023-03-21 Trie字典树
    rie字典树也称前缀树prefixtree什么是Trie字典树也称字典树DigitalTree;前缀树PrefixTreeTrie是一个多叉树,通常只用来处理字符串前面几章我们一直在用的都是二叉......
  • 团队模拟赛-Date
    具体过程开始看题,由于开的\(linux\)所以有点慢,不过还好。开始写T1,首先用的是统计入度个数,但是不知道为啥炸了调了很久的输入输出调不出来,感觉很生气,因为gyf已经A了,于......
  • 【Thread -- 1.1】 实现多线程的正确姿势
    【Thread--1.1】实现多线程的正确姿势一、实现多线程的方法有几种--两种1、正确方法--Oraclle官方文档--2种[Oraclle官方文档](Overview(JavaPlatformSE8)(ora......
  • Graph Classification mini-batch 训练方法
    参考资料colab教程PyTorchGeometricoptsforanotherapproachtoachieveparallelizationacrossanumberofexamples.Here,adjacencymatricesarestacked......
  • 22、Deployment-控制器
    1、基础知识1.1、简介Deployment资源对象在内部使用ReplicaSet来实现Pod的自动化编排。Deployment资源对象不管是在作用、文件定义格式、具体操作等方面都可以看做RC......
  • esxi主机安装完毕后漏洞:CVE-2018-3646解决方法
    [解决方案]由于此漏洞属于芯片级漏洞,更新固件会造成较大的性能损失,在私有云环境下,此漏洞的影响范围可控,我们可以选择禁用此提示,暂缓漏洞的修复。esxi主机安装完毕后漏洞:C......
  • VMware ESXi 8.0.0 build-20513097 许可证
    有效:4V492-44210-48830-931GK-2PRJ4 ESXi8:4V492-44210-48830-931GK-2PRJ4VCSA8:0Z20K-07JEH-08030-908EP-1CUK4ESXi8:4F40H-4ML1K-M89U0-0C2N4-1AKL4VCSA8:0F41K-0M......