我正在用一个文件替换我们的旧init.d
Glassfish 脚本。.service
我希望能够一个一个地启动/停止域,但也希望有一种快速启动/停止所有域的方法。
到目前为止,我有这个[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
文件调用并实际启动/停止域的脚本,如果没有提供则使用一组默认参数。但这感觉很老套和错误。
我自己想通了。
systemd
显然支持通配符。所以一旦你启用了一些实例,你可以像这样轻松地停止它们:显然,Ubuntu 要求您添加一个
--all
,所以总命令是