SIGHUP для перезагрузки конфигурации

Согласно signal(7), SIGHUP используется для обнаружения зависания при управлении терминалом или смерти процесса управления.

Однако я столкнулся с большим количеством демонов OSS (служб), где SIGHUP используется для инициирования перезагрузки конфигурации. Вот несколько примеров: hostapd, sshd, snort и т.д.

Является ли это стандартным (или общеприемлемым) способом реализации перезагрузки? Если нет, то что рекомендуется?

Ответ 1

SIGHUP как уведомление о событии закрытия терминала не имеет смысла для демона, потому что деамоны отделяются от своего терминала. Поэтому система никогда не будет посылать им этот сигнал. Тогда для демонов принято использовать его для другого значения, обычно перезагружая конфигурацию демона. Это не правило, просто своеобразное соглашение. Вот почему он не задокументирован в manpage.

См. запись в wikipedia для SIGHUP и оттуда более длинное описание с примером реализации

Ответ 2

По моему опыту, SIGHUP обычно используется для запроса перезагрузки его конфигурации. Используя эту известную технику, следует принцип наименьшего удивления. Ваши пользователи, скорее всего, столкнулись с демонами, которые делают именно это, поэтому они сразу поймут, что означает SIGHUP для вашего демона.