欢迎来到山村网

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

2019-03-09 07:44:05浏览:245 来源:山村网   
核心摘要:  在运行的时候有可能需要将一个模版实例化好几个单元,@字符用于标识模版和单元文件的关系,实例化单元可以从另外一个单元文

  在运行的时候有可能需要将一个模版实例化好几个单元,@字符用于标识模版和单元文件的关系,实例化单元可以从另外一个单元文件(使用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"。

(责任编辑:豆豆)
下一篇:

网络布线时应注意的4大关键事项

上一篇:

Win10系统出现80200056错误代码怎么办?

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com