%H:%i.pid在.service文件中做什么?

Cc *_* Dd 2 linux systemd

好的,我一直在四处寻找,找不到正在做什么。下面是.service文件中的一行,用于在启动时启动ightentvnc。

PIDFile=/home/username/.vnc/%H:%i.pid
Run Code Online (Sandbox Code Playgroud)

我假设它正在从文件夹中获取用户名:1​​.pid,但我不了解%H和%i的各个部分实际上在做什么?我确实知道脚本的其余部分在其他几行中使用了%i。特别:

ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i
Run Code Online (Sandbox Code Playgroud)

我也不确定%H和%i运算符的名称,这使得很难在线搜索它们。我已经能够推断出%H必须抓住了用户名,但是我不确定%i抓住了多少个号码。

/ usr / bin / vncserver中的文件如下,带有日期字符串:

May 26 16:04 username:1.log
May 26 15:56 username:1.pid
May 26 15:21 username:2.log
May 26 15:21 username:2.pid
May 26 15:21 username:3.log
May 26 15:21 username:3.pid
May 25 17:31 passwd
May 25 17:35 xstartup
May 25 17:32 xstartup.bak
Run Code Online (Sandbox Code Playgroud)

我在其中添加日期的唯一原因是因为我知道%H可以站立几个小时,但我对此表示怀疑。

Bar*_*mar 5

.service文件不是bash脚本,它们是所使用的单位文件systemd。这些文件的结构在此处描述。%后面跟一个字母的是被各种系统参数取代的说明符:

  • %H =主机名
  • %i =实例名称