特定のポートで実行されているいくつかのサービスを開始/停止するために作成する必要があるテンプレート ユニットがあります。 のようなものです[email protected]
。[email protected]
[Unit]
After=network.target
PartOf=services.target
[Service]
ExecStart=app run --port %i
ExecStopPost=sleep 5
[Install]
WantedBy=multi-user.target
これらすべてのサービスを一度に管理するためのターゲットを作成しました。
cat services.target
[Unit]
[email protected] [email protected]
それはうまくいきます。それらはすべて同じ API を提供しているので、サービスを中断するには、同時に 1 つのプロセスのみを再起動します。
After
1 つの解決策として、で を使用することが考えられますunit template
が、実行中のプロセスの数は増減する可能性があるため、あまり柔軟ではありません。 1 つを削除すると、依存関係のチェーンが壊れる可能性があります...。 そのため、私が見つけた唯一の解決策は、 を間に挟んで、インスタンスを 1 つずつ停止/開始する bash スクリプトを作成することでした。 つまり、はとをsleep
使用できますが、... は使用できません。これは不便です。target
stop
start
restart
他にどのようなオプションがありますか? 使用できる可能性はありますかnotify
?