Ответ
SIGHUP (Signal Hang Up) обычно уведомляет процесс о том, что его управляющий терминал был отключен. По умолчанию это приводит к завершению процесса, но многие программы (например, демоны) перехватывают SIGHUP и используют его для перезагрузки конфигурации без остановки.
Пример обработки SIGHUP в Go:
package main
import (
"os"
"os/signal"
"syscall"
)
func main() {
sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, syscall.SIGHUP)
go func() {
for {
<-sigChan
// Перезагружаем конфигурацию
}
}()
// Основная логика программы
}