IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Ubuntu:systemd的.service服务文件配置 -> 正文阅读

[系统运维]Ubuntu:systemd的.service服务文件配置

Ubuntu:.service文件配置

前言

之前在Jetson Nano配置中记录了通过服务开机自启动JupyterLab。本篇记录一下.service服务文件的配置方法。

.service文件

上篇提到,systemd将载入/etc/systemd/system/目录下的.service服务,一般而言其结构如下:

[Unit]
...
[Service]
...
[Install]
...

其中,[Unit]设置该服务与其它服务的启动顺序和依赖关系,[Service]设置服务的具体内容和行为,[Install]设置开机启动的方法。

Unit

服务的启动顺序和依赖关系

以下配置为例:

[Unit]
Description=Explain The Service
Documention=
Before=a.service
After=b.target
Wants=c.service
Requires=d.service

Description:对该服务的描述;
Documention:说明文档;
Before:在a.service服务启动前,启动本服务;
After:在b.target服务组启动后,再启动本服务;
Wants:弱依赖于c.service,即使被依赖服务启动失败或停止,本服务仍然运行;
Requires:强依赖于d.service,如果被依赖服务启动失败或停止,本服务也会停止。

启动顺序与依赖关系无关,被依赖的服务与本服务可以同时启动。

配置项可选可不选。

Service

服务具体执行的方式

以下配置为例:

[Service]
EnvironmentFile=/path_to_file
ExecStart=/your_script_dir/autoJupyterLab.sh $OPTIONS
ExecStop=
ExecReload=
ExecStartPre=
ExecStartPost=
ExecStopPost=
Type=simple
KillMode=process
Restart=on-failure
RestartSec=42s

EnvironmentFile:服务的参数文件,形成$OPTIONS;
ExecStart,ExecStop等:启动命令组,分别是服务启动时,停止时,重启时,启动前,启动后,停止后执行的命令;
Type:服务启动类型。默认simple表示ExecStart为主进程,notify类似于simple,启动结束后会发出通知信号。另外还有forking,oneshot,dbus,idle等类型;
KillMode:服务停止类型,默认control-group停止时杀死所有子进程,process只杀主进程,none只停止服务,不杀进程;
Restart:服务重启类型,默认no不重启,on-success正常退出时重启,on-failure非正常退出时重启,还有always,on-abnormal,on-abort等;
RestartSec:间隔多久重启服务。

多数配置项可不配置,ExecStart一般要自行设置。

Install

把服务放在哪个服务组

以下配置为例:

[Install]
WantedBy=multi-user.target

WantedBy:服务所在的服务组。

multi-user.target服务组中的服务,在sudo systemctl enable xxx.service后,符号链接被放在/etc/systemd/system/multi-user.target.wants/目录下。而系统默认启动的Target可由sudo systemctl get-defaults得到:

# sudo systemctl get-defaults
graphical.target

graphical.target又以multi-user.target为Requires和After关系,因此开机将自启动multi-user.target服务组。

此外,.target文件用于配置服务组,但只有Unit字段。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-06 14:09:05  更:2022-02-06 14:09:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:51:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码