Upstart: 다른 서비스를 중지하기 전에 "중지"를 실행하는 방법은 무엇입니까?

Upstart: 다른 서비스를 중지하기 전에 "중지"를 실행하는 방법은 무엇입니까?

나는 최근에 배웠다갑자기 나타나다Ubuntu가 사용하는 "Service Launcher"는 (분명히) Linux에서 작업 시작/중지의 미래입니다.

이것은 나에게 매우 새로운 것입니다(스크립트를 넣는 데 익숙한 오래된 SysV 시스템 /etc/rc[X].d/). 서비스를 중지하는 것이 가능한지 모르겠습니다( stop" " 매개변수를 사용하여 서비스를 호출하지만 해당 매개변수는 그렇지 않음). 다른 서비스가 중지되기 전에 중지되는 것 같습니다.)

컴퓨터가 종료된다는 사실을 원격 서버에 알리기 위해 작은 스크립트를 실행하고 싶습니다. 서비스가 종료되기 전에 dbus스크립트를 실행해야 합니다 network. Upstart로 이 작업을 수행할 수 있는 방법이 있나요? 아니면...Upstart 파일을 통해 이 작업을 수행하는 방법은 무엇입니까 .conf? (방법이 있을 거라 확신하는데, 모르겠어요)

답변1

pre-stopupstart 구성 파일에서 지시문을 사용할 수 있습니다 .

이는 서비스를 종료하기 전에 수행됩니다.

pre-stop script
   blabla
end script

답변2

내가 올바르게 기억한다면 동일한 방식으로 수행할 수 있습니다 init q. 물론 Upstart는 inittab과 sysv를 대체하지만 런레벨은 동일하게 유지됩니다...

답변3

다음 파일 내용을 사용하십시오.

start on runlevel [016] or stopping dbus or deconfiguring-networking

task

exec /path/to/your_script.sh

관련 정보