我想知道是否有办法防止在指定时间内关机,例如启动后 90 秒?(从具有立即关机命令的遥控器)
我希望解决方案是采用 systemd 风格。
真正的问题是,当有人启动设备时,所有启动服务都会启动,例如,如果该人在启动后 1-45 秒内关闭设备,则所有服务都会正常,除了发送投影仪关机信号的服务。信号当然可以正常发送,但是由于投影机处于加热状态,因此不会产生任何影响
因此,我想提出一个延迟解决方案,我无法检查投影仪的电源状态。
到目前为止,我得到的只是非常基本的sh 脚本从 之后开始graphical.target
。这是一个解决方案(较差的解决方案)。
此外,重新启动也是一个问题,因为我不想在重新启动时关闭投影仪,所以我认为这不会ExecStop=
奏效......
答案1
所以你的系统会以某种方式自动打开/关闭投影仪。你应该将你的解决方案与此过程集成在一起。也许系统不仅可以打开/关闭投影仪,还可以确定其状态?那最好了。
默认情况下,Systemd 服务最多需要 90 秒才能停止。所以您有充足的时间。
如果您可以确定投影仪的电源状态,则应该更改“关机”脚本以循环等待投影仪真正关闭。
如果您无法确定投影仪的电源状态,您可以记录打开投影仪的开始时间。在“关机”脚本中,您只需sleep
等待所需的时间过去后再发送实际的“关机”信号即可。
如果我误解了并且投影仪以某种方式做了它自己的事情,您仍然可以通过延迟系统关机过程来调整第二个建议。