我正在尝试在Debian上执行systemd服务。但是,我需要根据它是启动'冷'还是重启来改变逻辑。
我目前有run-application.service
,如下所示:
[Unit]
Description=Run application
[Service]
Type=oneshot
ExecStart=/usr/bin/run-application
[Install]
WantedBy=graphical.target
我希望在每次启动时调用程序,但是在重启时需要修改内部逻辑。实现这一目标的最简单/最好的方法是什么?
答案 0 :(得分:4)
Foch将军是对的。创建一个新的systemd服务,这是由reboot.target需要的,并在文件系统的某处留下一个“标记”,可以在重启时获取。我不建议把它放在/ tmp中,因为/ tmp的清理是每次安装/ tmp时由一个upstart脚本完成的 - 实际上,这意味着在每次启动时。我会把它放在你知道会坚持的目录中。这样,你可以知道你是否来自重启,你可以合理地假设你正在启动的任何其他时间都是“冷”。这将解决机器失去电力等情况。