systemd - .service 기본 매개변수

systemd - .service 기본 매개변수

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

관련 정보