Что делает SIGHUP с процессом

«Что делает SIGHUP с процессом» — вопрос из категории Linux, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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
            // Перезагружаем конфигурацию
        }
    }()

    // Основная логика программы
}