現在起動時に使用しています/etc/rc.local
。問題は、シャットダウン中に正常にシャットダウンされないことです。これにより、(重要な)データが失われる可能性があります。私のスクリプトには、終了する前にすべての操作を完了するSIGINTハンドラがあります。起動中にスクリプトを開始して終了する前に、スクリプトにSIGINTを送信する方法はありますか(そして完了するのを待ちますか?)。
注:スクリプトを終了する前に手動でSIGINTをスクリプトに送信することはできますが、サーバーを管理せず、将来他の人が何をするのかわかりません。
答え1
まずchmod +x
スクリプトに移動します。次にsudo ln -s yourscript /etc/init.d/somename
、
sudo ln -s /etc/init.d/somename /etc/rc0.d/K88somename
。 shutdown the machineと入力すると、init 0
スクリプトが実行されます。 rcX.d と同様に、X は実行レベルを表します。私のオペレーティングシステムはUbuntu 14.04 LTSです。私のOSでは、私が望むように動作します(他の人もそうすることができますが、私は試していません)。