upstart / initctl은 어떤 신호를 사용하여 작업을 다시 시작합니까?


10

어떤 신호 것 upstart/ initctl사용 작업을 다시 시작? 또한 SIGHUP을 사용하도록 지정하는 방법이 있습니까?

또는 reloadSIGHUP을 보낼 사용자 정의 명령 을 정의하는 방법이 있습니까? 아니면 그렇게하기 위해 밖에 나가야 upstart합니까?


나는 그것이 SIGQUIT라고 믿는다. SIGHUP에 대한 응답은 대부분의 경우 응용 프로그램에 따라 다릅니다.
Chris S

말이 되겠네요 설명 수정을 참조하십시오.
David Eyk

답변:


23

upstart / initctl은 어떤 신호를 사용하여 작업을 다시 시작합니까?

SIGTERM

$ strace -fp `pgrep cron` 2> ~/strace &
$ initctl restart cron
$ cat ~/strace
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {0x804a280, [CHLD], SA_RESTART}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({60, 0}, {57, 153662204})     = ? ERESTART_RESTARTBLOCK (To be restarted)
--- SIGTERM (Terminated) @ 0 (0) ---
Process 2275 detached

또한 SIGHUP을 사용하도록 지정하는 방법이 있습니까?

사용하다: initctl reload

또는 SIGHUP을 보낼 사용자 정의 재로드 명령을 정의하는 방법이 있습니까?

사용하다: initctl reload

아니면 시작하기 위해 나가야합니까?

사용 initctl reload또는 kill/killall -HUP


매우 철저합니다. 감사합니다. 맨 페이지에서 그 중 일부를 찾을 수있을 것 같아요!
David Eyk

서비스가 제 시간에 멈추지 않으면 SIGKILL로 업그레이드됩니다. "작업을 중지하려면 SIGTERM을 전송해야합니다. ... 그러나 서비스가 종료 시간 초과 (초기, 5 초)를 초과하는 경우 SIGKILL이 전송됩니다. upstart.ubuntu.com/cookbook/#pre-stop
scipilot
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.