systemd - .serviceデフォルトパラメータ

systemd - .serviceデフォルトパラメータ

init.d以前のGlassfishスクリプトをファイルに置き換えています.service。ドメインを 1 つずつ開始/停止できますが、すべてのドメインをすばやく開始/停止できるようにしたいです。

これまで私はこれを持っています[email protected]

[Unit]
Description=Glassfish4 Domain %i

[Service]
Type=forking
ExecStart=/opt/glassfish4/glassfish/bin/asadmin --passwordfile /my/pw/file start-domain %i
ExecStop=/opt/glassfish4/glassfish/bin/asadmin --passwordfile /my/pw/file stop-domain %i

TimeoutStartSec=300
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

これは機能し、次のように個々のドメインを起動、停止、および有効にできます。

systemctl start glassfish@domain1

しかし、私も止まったり始めたりしたいです。みんな次のドメイン:

systemctl stop glassfish

この目標をどのように達成できますか?また、各インスタンスの状態をどのように表示できますか[email protected]

私は現在、パラメータが指定されていない場合は、デフォルトのパラメータセットを使用してファイルから呼び出され、.service実際にドメインを起動/停止するスクリプトの作成を検討しています。しかし、それは奇妙で間違った感じです。

ベストアンサー1

私はそれを自分で見つけました。

systemd明らかにワイルドカードがサポートされています。したがって、一部のインスタンスを有効にすると、次のようにすべてのインスタンスを簡単に停止できます。

systemctl stop 'glassfish@*'

明らかにUbuntuでは1つを追加する必要があるため、--allコマンド全体は次のようになります。

systemctl stop 'glassfish@*' --all

おすすめ記事