Red Hatで特定の順序でサービスを開始しますか?

Red Hatで特定の順序でサービスを開始しますか?

「ExecStart = / usr / bin / java -jar」を使用する複数のサービスがあり、できるだけ遅く(ネットワーク、ファイアウォール、およびログインサービスの後)起動したいと思います。

「After」と「Requires」の[Unit]にさまざまな依存関係をリストしてみましたが、何もしないようです。起動ログを見ると、すべての依存関係の前にサービスが開始されます。

私は(例えば)試してみました。

[Unit]
Description=My Service 01
Requires=network.target
After=systemd-user-sessions.service network.target

ブート順序で crond が最後に始まるのを見ることができて試してみました。

[Unit]
Description=My Service 02
After=crond.service

違いはありません。私のサービスはクローンよりもずっと前に始まりました。

どんな提案がありますか?私は何が間違っていましたか?状況はRed Hat 7.2と7.3でも同じです。

答え1

これアーチウィキsysyemdページこれに関するいくつかの洞察は次のとおりです。

Wants= と Requires= は After= を意味しません。つまり、After =を指定しないと、両方のデバイスが並列に起動されます。

各依存関係に以下を追加する必要があります。両方a以降RequiresAfter開始する各ユニット:

[Unit] 
Description=My Service 02 
Requires=crond.service
After=crond.service

関連情報