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