diff --git a/utils/utils.go b/utils/utils.go index 21849fc..2f5e03c 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -5,6 +5,7 @@ import ( "fmt" "os" "os/exec" + "os/signal" "strings" "github.com/denisbrodbeck/machineid" @@ -115,3 +116,12 @@ func SetEnv(env []string) { } } } + +func OnSignal(fn func(), sig ...os.Signal) { + sigs := make(chan os.Signal, 1) + signal.Notify(sigs, sig...) + go func() { + <-sigs + fn() + }() +}