当前位置: 移动技术网 > 科技>操作系统>Linux > 将Linux中systemd的单元配置实例化的方法

将Linux中systemd的单元配置实例化的方法

2018年07月15日  | 移动技术网科技  | 我要评论

维尼夫妇婚纱照图片,穿越军事小说,haobc

在运行的时候有可能需要将一个模版实例化好几个单元,@字符用于标识模版和单元文件的关系,实例化单元可以从另外一个单元文件(使用requires或者wants选项),或者使用systemctlstart命令。实例化服务单元可以按照下面的方式命名:
 

复制代码
代码如下:
template_name@instance_name.service

几个实例可以指向同一个模板文件配置选项常见的所有实例,举个例子,一个单元配置文件的wants选项可以是:

 

复制代码
代码如下:

wants=getty@ttya.service,getty@ttyb.service
 

首先让systemd搜索给定服务单位,如果没有发现,systemd忽略@和点号之间的部分,直接搜索getty@.service服务文件,读取配置,并启动服务。
通配符字段,称为单元说明符,可以在任何单元配置文件使用。单位说明符替代某些单位在运行时参数和解释。常用的单元说明符说明如下:
%n整个单元名字,包括类型的后缀,%n是相同的意义,但是ascii取代为禁止字符。
%p前缀名字,在实例化的时候,%p代表@字符前面的部分。
%i实例名字,@字符和单元类型直接的部分。%i是相同的意义,但是ascii取代为禁止字符。
%h主机名字,当配置文件被加载的时候的主机名。
%t运行时目录,当前的运行目录,对root用户就是/run目录,对于无特权用户就是xdg_runtime_dir变量指定的目录。
举个例子,getty@.service包含下面的结构:

 

复制代码
代码如下:

[unit]
description=gettyon%i
...
[service]
execstart=-/sbin/agetty--noclear%i$term
...
 

当getty@ttya.service和getty@ttyb.service实例化的时候,description=被解释为“gettyonttya”和"gettyonttyb"。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网