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
실제로 도메인을 시작/중지하는 스크립트 작성을 고려 중입니다. 그러나 그것은 이상하고 잘못된 느낌입니다.
답변1
나는 그것을 스스로 알아 냈습니다.
systemd
분명히 와일드카드가 지원됩니다. 따라서 일부 인스턴스를 활성화하면 다음과 같이 모든 인스턴스를 쉽게 중지할 수 있습니다.
systemctl stop 'glassfish@*'
분명히 우분투에서는 하나를 추가해야 하므로 --all
전체 명령은 다음과 같습니다.
systemctl stop 'glassfish@*' --all