내 /etc/systemd/system/myshutdown.service
것은
#!/bin/bash
[Unit]
Description=license administration shutdown
DefaultDependencies=no
After=final.target
[Service]
Type=oneshot
ExecStart=/root/scripts/license_administration_shutdown.sh
[Install]
WantedBy=final.target
나는 내가 시작한 해당 서비스 와 해당 시스템 서비스를 죽이기 위해 license_administration_shutdown.sh
뭔가를 했습니다 .lmutil lmdown -force
/root/scripts/license_administration.sh
init 6
제 질문은 init 0
종료 스크립트가 즉시 실행되기를 원하는지 아니면 완료 후 가장 먼저 해야 할 일 중 하나로 위의 시스템 서비스 구문이 올바른지입니다. 내 의도는 lmgrd에 책임이 있다고 생각되는 프로세스를 종료하는 것입니다.세션에서 작업 중지가 실행 중입니다.경고: 종료/재시작 시 1분 30초의 불편한 지연이 발생합니다.
init 6
위 서비스에 더 높은 우선 순위를 부여하거나 완료되는 즉시 발생하도록 하기 위해 추가하거나 변경할 수 있는 구문이 더 있습니까 ?init 0
답변1
서비스 중지 서비스를 생성하는 대신 ExecStopPost
라이선스 관리자 서비스에 작업을 추가하는 것이 가장 좋은 옵션일 수 있습니다.
라이센스 관리자가 기본 종속성을 사용하는 경우 자동으로 shutdown.target과 충돌합니다. 기본 종속성을 사용하지 않는 경우 Conflicts=shutdown.target
라이선스 관리자의 서비스 설명에 추가할 수 있습니다.
시스템이 종료되거나 다시 시작될 때 shutdown.target을 호출하여 이를 수행합니다. 이는 (대부분의 경우) 실행 중인 모든 서비스와 자동으로 충돌합니다. 라이선스 관리자 서비스가 중지되고 그 일부로 지정된 명령이 실행됩니다 ExecStopPost=
.