우분투는 지금 당분간 upstart를 사용하기 때문에 upstart 작업을 사용하여 시스템 종료 또는 재부팅시 특정 응용 프로그램을 정상적으로 종료하고 싶습니다. 이러한 응용 프로그램이 종료 될 때까지 시스템의 종료 또는 재부팅이 중지되어야합니다.
응용 프로그램은 경우에 따라 수동으로 시작되며 시스템 종료시 스크립트 (이미 보유한 스크립트)로 자동 종료해야합니다. 다른 서비스가 거의 실행되지 않으면 응용 프로그램을 안정적으로 종료 할 수 없으므로 나머지 종료가 시작되기 전에 응용 프로그램을 종료해야합니다.
종료시 트리거되는 시작 작업 으로이 문제를 해결할 수 있다고 생각하지만 어떤 이벤트를 어떤 방식으로 사용 해야하는지 확실하지 않습니다. 지금까지 나는 (일부 모순되는) 진술을 읽었습니다.
- 시작시 일반적인 종료 이벤트가 없습니다.
start on starting shutdown
작업 정의에서 와 같이 스탠자를 사용하십시오.start on runlevel [06S]
작업 정의에서 와 같이 스탠자를 사용하십시오.start on starting runlevel [06S]
작업 정의에서 와 같이 스탠자를 사용하십시오.start on stopping runlevel [!06S]
작업 정의에서 와 같이 스탠자를 사용하십시오.
이러한 권장 사항에서 다음과 같은 질문이 발생합니다.
- 우분투의 시작에 일반적인 종료 이벤트가 있습니까?
- "종료 훅"을 구현하기 위해 권장되는 방법은 무엇입니까?
- 이벤트 런레벨 [x]가 언제 트리거됩니까? 런레벨에 진입했을 때 또는 런레벨에 진입 할 때 이것이 있습니까?
start on starting runlevel [x]
또는 같은 것을 사용할 수 있습니까start on stopping runlevel [x]
?- 내 문제에 가장 적합한 솔루션은 무엇입니까?
대단히 감사합니다
startup
사건이 있는 유일한 이유는 "펌프를 프라이밍"하기 위해 무언가 가 필요하기 때문입니다. 권한있는 이벤트 하나가 전송 된 후 다른 모든 이벤트는에 의해 트리거 된 작업 및 태스크에 의해 정의 될 수 있습니다startup
. 단일shutdown
이벤트 가없는 경우,shutdown
의미가있는 다른 종류가 너무 많습니다 . 실행해야하는 작업에 직접 의존하는 것이 좋습니다.