如何在 systemd 服务文件的安装部分执行自定义命令或脚本?

如何在 systemd 服务文件的安装部分执行自定义命令或脚本?

我正在创建一个自定义的 systemd 服务脚本,该脚本运行良好。但是我想在以下情况下执行自定义脚本:

sudo systemsctl enable myservice.service

被执行。

这可能吗?

答案1

如 中所述man systemd.unit,启用服务后无法运行自定义命令。有一些可能的替代设计:

  • 创建一个简单的 bash 脚本,在一行上运行enable命令,在第二行运行您的客户脚本。
  • 设计系统的其他部分,使其在使用服务触发操作时工作,started而不是。像和这样的enabled指令可以帮助实现这一点。ExecStartPre=ExecSTartPost=

相关内容