systemctl service unit file

systemd service 配置文件有如下section: *unit

  • Service
  • Install

Unit [Unit] 区块通常时配置文件的第一个区块,用来定义Unit的元数据,以及配置与其他Unit的关系。它的主要字段如下:

  • Descriptin:简短描述
  • Documentation: 文档地址
  • Requires: 当前Unit依赖的其他Unit, 如果它们没有运行,当前Unit会启动失败
  • Wants: 与当前Unit配合的其他Unit, 如果它们没有运行,当前Unit不会启动失败
  • BindsTo: 与Requires类似,它指定的unit如果退出,会导致当前Unit停止
  • Before: 如果该字段指定的Unit也要启动,那么必须在当前Unit之后启动
  • After: 如果该字段指定的Unit也要启动,那么必须在当前Unit之前启动
  • Conflicts: 这里指定的Unit不能与当前的Unit同时运行
  • Condition: 当前Unit运行必须满足的条件,否则不会运行
  • Assert: 当前Unit运行必须满足的条件,否则会报启动失败

Service [Service] 区块用来Service的配置,只有Service类型的Unit才有这个区块。 它的主要的字段如下:

  • Type=simple: 默认值,执行ExecStart指定的命令,启动主进程

  • Type=forking: 以fork方式从父进程创建子进程,创建后父进程会立即退出

  • Type=oneshot: 一次性进程, Systemd 会等当前服务退出,再继续往下执行

  • Type=dbus: 当前服务通过D-Bus启动

  • Type=notify: 当前服务器启动完毕, 会通知Systemd, 在继续往下执行

  • Type=idle, 若有其他任务执行完毕,当前服务才会运行

  • ExecStart: 启动当前服务的命令

  • ExecStartPre: 启动当前服务之前执行的命令

  • ExecStartPost: 启动当期服务之后执行的命令

  • ExecReload: 重启当前服务时执行的命令

  • ExecStop: 停止当前服务时执行的命令

  • ExecStopPost: 停止当前服务之后执行的命令

  • RestartSec: 自动重启当前服务间隔的秒数

  • Restart: 定义何种情况Systemd会自动重启当前服务,可能的值会包括always(总是重启), on-success, on-failure, on-abnormal, on-abort, on-watching

  • TimeoutSec: 定义Systemd 停止当前服务之前等待的秒数

  • Enviroment: 指定环境变量


Install [Install] 通常是配置文件的最后一个区块,用来定义如何启动,以及是否开机启动。 它的主要字段如下:

  • WantedBy: 它的值是一个或多个Target,当前Unit激活时(enable)符号链接会放入/etc/systemd/system目录下面以Target名+.wants后缀构成的子目录中。
  • RequiredBy: 它的值是一个或多个Target, 当前Unit激活时,符号链接会放入/etc/systemed/system目录下面以Target名+.required后缀构成的子目录中。
  • Alias: 当前Unit可用于启动的别名。
  • Also: 当前Unit激活(enable)时,会被同时激活的其他Unit.

转载于:https://my.oschina.net/lvhuizhenblog/blog/1830189

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值