好吧,我到处找遍了,找不到它在做什么。下面是 .service 文件中的一行,用于在启动时启动 tightvnc。
PIDFile=/home/username/.vnc/%H:%i.pid
我假设它正在从文件夹中获取 username: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
我也不确定 %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
我在其中添加日期的唯一原因是因为我知道 %H 可以代表几个小时,但我非常怀疑它在这里代表什么。
最佳答案
.service
文件不是 bash
脚本,它们是 systemd
使用的单元文件。这些文件的结构描述为here . %
后跟一个字母是被各种系统参数替换的说明符:
%H
= 主机名%i
= 实例名称
关于linux - %H :%i. pid 在 .service 文件中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44211506/