Який сигнал використовує upstart / initctl для перезавантаження роботи?


10

Який сигнал upstart/ initctlвикористовувати , щоб перезапустити роботу? Крім того, чи є спосіб вказати, що слід використовувати SIGHUP?

Крім того, чи є спосіб визначити власну reloadкоманду, яка надішле SIGHUP? Або мені потрібно вийти назовні, upstartщоб це зробити?


Я вважаю, що це SIGQUIT; Відповідь на SIGHUP у більшості випадків специфічна для застосування.
Кріс S

Це мало б сенс. Дивіться мої редагування роз'яснень.
Девід Ейк

Відповіді:


23

Який сигнал буде використовуватися для запуску / запуску / 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


Дуже ретельно. Дякую. Здогадайтесь, я міг би знайти щось із цього на сторінці чоловіка!
Девід Ейк

Він буде оновлений до SIGKILL, якщо послуга не зупиниться вчасно. "Припинення роботи передбачає надсилання на неї SIGTERM. ... Однак, якщо служба забирає більше, ніж секунди часу очікування (за замовчуванням, 5 секунд), вона буде надіслана SIGKILL" upstart.ubuntu.com/cookbook/#pre-stop
scipilot
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.