2025-10-16 13:28:24 +08:00

19 lines
278 B
Go

package shutdown
import (
"os"
"os/signal"
"syscall"
)
// Close 监听signal并停止
func Close(handler func()) {
ctx := make(chan os.Signal, 1)
signal.Notify(ctx, syscall.SIGINT, syscall.SIGTERM, syscall.SIGHUP, syscall.SIGQUIT)
<-ctx
signal.Stop(ctx)
handler()
}