kleinCommand/common/interrupt.go

18 lines
228 B
Go
Raw Normal View History

2025-07-20 00:47:03 +02:00
package common
import (
"os"
"os/signal"
"syscall"
)
func CatchInterrupt(logic func()) {
cmd := make(chan os.Signal, 1)
signal.Notify(cmd, os.Interrupt, syscall.SIGTERM)
go func() {
<-cmd
logic()
os.Exit(0)
}()
}