Systemd启动配置常用参数

NotionNext - 2023-4-17 - 技术分享 / 开发
发布于:2023-4-17|最后更新: 2023-4-17|
type
status
date
slug
summary
tags
category
icon
password
文章来源:ChatGPT
 
1. [Unit]参数
[Unit]参数定义了service单元的元数据,是systemd下的主要块,包括以下参数:
  • Description:描述该unit的信息,可以是任何你想要指定的字符串信息。
  • After:设置当前unit所依赖的其他unit启动完成后再启动服务。指定的单元应该以服务名称的方式指定。可以指定多个unit,多个unit之间空格隔开。
  • Requires:设置该unit所依赖的其他unit。如果依赖的unit没有启动,则当前unit也不会被启动。
  • PartOf:配置关联的单元列表,即如果一个单元结束,这个关联的单元列表也同样结束。可以指定多个单元之间以空格隔开。
示例:
2. [Service]参数
[Service]参数定义了服务单元的配置信息,包括以下参数:
  • Type:定义服务进程的类型,取值为simple、forking、oneshot、notify和dbus。一般情况下,我们常用的是simple,表示服务以前台进程的形式运行,而且systemd通过ExecStart命令执行服务程序。
  • User:指定服务进程的运行用户,可以是一个已存在的用户名或者是一个UID(UserID)。
  • Group:指定服务进程的运行组,默认为该用户的主组。
  • ExecStart:定义启动服务进程的命令,可以使用绝对路径或相对路径,指定一个或多个执行命令。可以在同一行用“\”来指定多个命令,也可以使用多行的方式来指定多个命令。
  • Restart:设置服务进程退出后的自动重启方式。取值包括no(不自动重启)、always(总是自动重启)、on-success(只有在服务运行成功后重启)和on-failure(只有在服务运行失败后重启)。
  • RestartSec:设置服务进程重启间隔的时间,单位为秒。
  • StartLimitIntervalSec:设置一个时间段,在这个时间段中如果服务进程重启次数超过StartLimitBurst设置的值,则该服务会被自动禁止启动。时间段指定的是一个整数和一个时间单位的组合,如60s或5m。
  • StartLimitBurst:设置服务进程在StartLimitIntervalSec指定的时间段中允许重启的次数。
  • WorkingDirectory:设置服务程序的工作目录,也就是服务程序的根目录路径。
  • EnvironmentFile:设置服务进程运行时的环境变量文件路径。
  • Environment:设置服务进程运行时的环境变量,可以是一个字符串的键值对,多个环境变量间以空格隔开。
示例:
3. [Install]参数
[Install]参数定义了服务单元的安装、启动和启动级别信息,包括以下参数:
  • WantedBy:指定当前unit希望安装到哪个目标之下,表示当前unit会在指定的目标之下并行运行。
  • RequiredBy:表示当前unit总是在指定目标之下运行,并且在指定目标启动之前必须启动这个unit。
示例:
以上是systemd启动配置文件中的常用参数,希望对您有所帮助。
 
 
让小爱更智能-小爱接入ChatGPT快速部署ChatGPT网页应用 国内直连