오래된 SystemV 스크립트를 사용하여 종료하기 전에 원하는 것이 있으면 /etc/rc0.d/에 이와 같은 스크립트를 넣습니다.
K400rc.local.shutdown.sh
이를 편집하고 종료 전에 실행하려는 명령을 입력합니다. systemd를 사용하는 Linux에서는 다음과 같은 "매니페스트"를 만들었습니다.
vim /lib/systemd/system/rc-local-shutdown.service
[Unit]
Description=/etc/rc.local.shutdown Compatibility
ConditionFileIsExecutable=/etc/rc.local.shutdown
DefaultDependencies=no
After=rc-local.service basic.target
Before=shutdown.target reboot.target
[Service]
Type=oneshot
ExecStart=/etc/rc.local.shutdown
StandardInput=tty
RemainAfterExit=yes
[Install]
WantedBy=shutdown.target
훌륭하게 작동합니다...종료하기 전에 명령을 입력할 수 있습니다. 문제는... Solaris smf를 사용하여 그러한 매니페스트를 수행하는 방법을 아는 사람이 있습니까? rc.local을 실행하는 방법은 알고 있지만 rc.local.shutdown 매니페스트를 실행하는 방법은 모릅니다. 아는 사람 있나요?
답변1
Solaris는 smf
이전 스크립트를 존중하므로 종료 시 스크립트가 /etc/rc0.d/K400rc.local.shutdown.sh
실행됩니다. 접두사 K40
와 접미사는 .sh
유일하게 중요한 부분이며 나머지는 0rc.local.shutdown
운영 체제에 아무런 의미가 없습니다.
이 작업을 서비스로 변환하려면 smf
종료 및 실행 수준에 대해 생각하지 말고 서비스가 무엇에 의존할지 결정하는 것이 좋습니다(선택한 서비스가 끝나면 서비스가 중지됩니다).
exec-method
그런 다음 아무 작업 없이 시작 하고 종료 스크립트를 중지로 사용하는 매니페스트를 만듭니다 exec-method
.