Upstart:如何在停止其他服务之前运行“停止”?

Upstart:如何在停止其他服务之前运行“停止”?

我最近了解到暴发户Ubuntu 正在使用的“服务启动器”(显然)是 Linux 中启动/停止作业的未来。

这对我来说很新(我习惯了将脚本放入的旧 SysV 系统/etc/rc[X].d/),并且我不知道是否可以停止服务(使用“ stop”参数调用服务,尽管该参数似乎不在其他服务停止之前就不再那么重要了)。

我想运行一个小脚本来通知远程服务器机器正在关闭。我需要在服务被关闭之前运行该dbus脚本network。有什么方法可以用Upstart 做到这一点吗?或者...更好地说,通过 Upstart 文件来做到这一点的方法是什么.conf? (我确信有办法,只是我不知道)

答案1

您可以pre-stop在 upstart 配置文件中使用指令,

这将在关闭服务之前执行,例如

pre-stop script
   blabla
end script

答案2

如果我没记错的话,你也可以用同样的方法来做init q,当然 Upstart 替换了 inittab 和 sysv 但运行级别保持不变......

答案3

使用以下文件内容:

start on runlevel [016] or stopping dbus or deconfiguring-networking

task

exec /path/to/your_script.sh

相关内容