Создаёшь канал и регистрируешь его через signal.Notify(ch, syscall.SIGTERM, syscall.SIGINT). Потом <-ch блокируется до получения сигнала. Типичный паттерн: получил SIGTERM → запускаешь graceful shutdown (закрываешь listener, ждёшь in-flight requests, закрываешь DB). signal.NotifyContext (Go 1.16) возвращает context, который отменяется при сигнале — удобнее интегрируется с остальным кодом.
Как работать с os/signal в Go?
Middle
190 просмотровAFK Offer AI
Что такое bufconn для gRPC тестов?