Upstart:他のサービスを停止する前に「停止」を実行する方法は?

Upstart:他のサービスを停止する前に「停止」を実行する方法は?

私は最近学んだ突然現れるUbuntuが使用する「Service Launcher」は、(明らかに)Linuxでの作業の開始/停止の未来です。

これは私にとって非常に新しいものです(スクリプトを置くのに慣れている古いSysVシステム/etc/rc[X].d/)。サービスを停止することが可能かどうかわかりません(stop" "パラメータを使用してサービスを呼び出しますが、そのパラメータはそうではありません)。他のサービスが停止する前に停止しているようです。)

コンピュータがシャットダウンすることをリモートサーバーに通知するために小さなスクリプトを実行したいと思います。サービスが終了する前にdbusスクリプトを実行する必要がありますnetwork。 Upstartでこれを行う方法はありますか?それとも... Upstartファイルを介してこれを行うには.conf? (方法があると確信していますが、わかりません)

答え1

pre-stopupstart設定ファイルでディレクティブを使用できます。

これはサービスを終了する前に行われます。

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

関連情報