Debian でサービスの開始を遅らせるには?

Debian でサービスの開始を遅らせるには?

それで、正確に言えば、ラズベリーファイ2で「deluge-daemon」の始まりを遅らせようとします。とにかく、USB(NTFS)はXサーバーの起動後にのみ自動的にマウントされます(私はRaspbianでデフォルトの自動マウントを使用しています)(Xサーバーは必要ありませんが)、DelugeがUSBマウントより早く起動するようです。 USBがまだマウントされていないため、権限の問題があり、正しく機能するにはDelugeを再起動する必要があります...

それで、優先順位を下げてランレベル5でのみ実行してみました。

sudo update-rc.d deluge-daemon start 20 5 . stop 80 0 1 6 .

これは役に立ちません。 deluge-daemon 起動スクリプトを編集し、追加しました。

sleep 1m

起動スクリプトの場合。その後、USBをマウントした後に動作してインストールしますが、問題はdeluge-daemonサービスを開始しようとするたびに遅くなるため、プロセスを停止して開始することを決定するたびに1分かかります。手動.. .

どんな助けでも大変感謝します。一般的な起動スクリプトに影響を与えずに起動を遅らせる方法が必要です。

答え1

寝る前にUSBが装着されていることを確認できます。たとえば、

mount | grep -q /path/to/USB/stick/mountpoint || sleep 1m

USBスティックが取り付けられていない場合にのみ、1分間スリープモードになります。

答え2

あなたが言うとき:

それで、優先順位を下げてランレベル5でのみ実行してみました。

開始番号を下げないで欲しいのですが…そうなったら逆に!

数字が低いほど、サービスは早く開始されます。rc順番に実行される項目/etc/rcS.d/、実行される項目/etc/rc?.d?現在の実行レベル)、フォルダの内容は、起動スクリプト/etc/rc*形式のサービスinitscriptへのシンボリックリンクです(S??service_nameここで「start」パラメータは実行)、またはスクリプトを停止(「stop」パラメータとして実行)にrc使用されます。K??service_namerc

合計では、S??実行位置K????最初が00、最後が99です。複数のスクリプトが同じ番号を持つ場合、サービス名に基づいてアルファベット順に実行されます。

そう言って走ると

sudo uptate-rc.d deluge-daemon start 99 5 . stop 80 0 1 6 .

または、ランレベル5で開始される最後の(または最後の)サービスになるデラックスデーモンにrcシンボリックリンクの名前を変更します。シンボリックリンクの名前をに変更すると、起動時に最後に実行される可能性が高くなります。/etc/rc5.d/S??deluge-daemon/etc/rc5.d/S99deluge-daemonS99Zdeluge-daemon

もちろん、この手順を使用して、可能であれば、このdeluge-daemonに必要なサービスをできるだけ早く開始できます。

関連情報