signal.NotifyContext(ctx, signals...) и что возвращаетФункция принимает родительский контекст и список сигналов ОС, возвращает два значения: дочерний контекст и функцию
stop.Контекст отменяется автоматически, когда процесс получает один из перечисленных сигналов — например,
syscall.SIGINT (Ctrl+C) или syscall.SIGTERM. После отмены ctx.Err() вернёт context.Canceled, а ctx.Done() будет закрыт.Функция
stop останавливает перенаправление сигналов и освобождает внутренние ресурсы пакета signal. Её нужно обязательно вызвать — как правило, через defer stop() сразу после создания контекста.ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
defer stop()
<-ctx.Done()
fmt.Println("получен сигнал:", ctx.Err())
🐸 Библиотека Go для собеса