我正在运行基于 Arch 的 Manjaro Linux,并为自己编写了一个小更新程序,该程序每 7 小时启动一次,并且完全在后台运行。此更新程序由 systemd 启动。
我想知道的是:无论用户只是想将其关闭还是任何程序都想这样做,如何在该程序运行期间防止任何系统关闭/重新启动。
最好的情况是,如果任何关机/重启操作不会被取消而是延迟,那么当更新程序完成运行时,关机/重启会继续。
我的系统部分是:
uupgrades.timer
[Unit]
Description=UU Upgrades Timer
[Timer]
OnBootSec=23min
OnUnitActiveSec=7h
Unit=uupgrades.target
[Install]
WantedBy=basic.target
uupgrades.target
[Unit]
Description=UU Upgrades Timer Target
StopWhenUnneeded=yes
在文件夹uupgrades.target.wants
升级服务
[Unit]
Description=UU Update Program
[Service]
Nice=19
IOSchedulingClass=2
IOSchedulingPriority=7
ExecStart=/usr/bin/uupgrades
我怎样才能做到这一点?