알 수없는 인스턴스 중지와 함께 upstart 사용


8

나는 방금 시작에 들어가서 로그 파일에 인쇄하는 매우 기본적인 스크립트를 작성 vm-service.conf했습니다 /etc/init.

description "Virtual Images"
author      "Me"

start on runlevel [2345]
stop on runlevel [016]
respawn   


script
echo "DEBUG: `set`" >> /tmp/vm-service.log

end script


pre-stop script
    echo "DEBUG: `set`" >> /tmp/vm-service.log
end script

내가 실행하면 다음 sudo start vm-service과 같이 출력됩니다.

vm-service start/running, process 29034

그러나을 실행 sudo stop vm-service하면 다음이 출력됩니다.

stop: Unknown instance

나는 running을 시도 sudo initctl reload-configuration했지만 여전히 중지 오류가 발생합니다.

나는 요리 책을 보았지만 아마도 분명한 것이 빠져있을 것입니다.

답변:


7

기본 프로세스 (스크립트 또는 exec 스탠자가 지정된 경우 실행되는 프로세스)가 종료되면 작업이 중지 된 것으로 간주합니다. 그런 다음 Upstart는 시작 후 프로세스를 실행합니다.

따라서 첫 번째 스크립트가 실행 및 종료되고 Upstart가 작업 중지를 고려한 다음 두 번째 스크립트가 실행 및 종료됩니다. 이미 중지 된 작업에서 중지 명령을 실행하면 본 메시지가 인쇄됩니다.

이를 처리하려면 사전 시작 스탠자를 사용하십시오.

pre-start exec foo --bar

post-start exec baz --foo

이를 수행하면 Upstart는 사전 시작 스탠자가 완료되면 중지 된 것이 아니라 작업이 시작된 것으로 간주합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.