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

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

(0)

相关推荐

  • Excel 2013中保存自定义单元格格式的方法

    Excel 2013中保存自定义单元格格式的方法 1.在工作表中选择需要保存格式的单元格,单击"开始"选项卡下"样式"组中的"单元格样式"按 ...

  • Linux中执行shell脚本的4种方法总结

    主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下 操作方法 01 方法一:切换到shell脚本所在的目录(此时,称为工作目录) ...

  • Linux中cp和scp命令的使用方法

    Linux为我们提供了两个用于文件copy的命令,一个是cp,一个是scp,但是他们略有不同。 cp --- 主要是用于在同一台电脑上,在不同的目录之间来回copy文件 scp --- 主要是在不同的 ...

  • Linux中让进程在后台运行的方法

    作者:NinGoo | 【转载须以超链接形式标明文章原始出处和作者信息】 在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中 ...

  • 在Linux中可视化显示内存占用情况的方法

    物理内存不足对Linux桌面系统和服务器系统的性能影响都很大.当你的计算机变慢时,要做的第一件事就是释放内存.尤其是在多用户环境以及执行关键任务的服务器环境下,内存消耗会变得更加关键,因为多个用户和应 ...

  • Linux中的Configure选项配置参数详解

    Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...

  • linux系统下vnc 的配置和使用方法

    VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务 器端的应用程序(vncserver)。VNC的基本运行原理和一些Windows下的远程控制软件很相 象。V ...

  • linux中去掉文件重复数据行的方法(去重复ip)

    一、去掉相邻重复的数据行 复制代码 代码如下: $cat data1.txt | uniq 输出: beijing wuhan beijing wuhan 二、去掉所有重复的数据行 复制代码 代码如下 ...

  • linux中mysql5升级到mysql5.5的方法

    手上有一朋友的服务器是MYSQL5.1,因需要升级到5.5或以上,这儿写下升级到5.5的过程 安装5.5依赖安装包 代码如下 yum install -y autoconf* automake* zl ...