Signal Processing
package main
import (
"fmt"
"github.com/langwan/langgo"
"os"
"syscall"
)
func main() {
langgo.Run()
done := make(chan struct{})
langgo.SignalHandlers(func(sig os.Signal) {
fmt.Printf("receive sig is %s\n", sig.String())
}, syscall.SIGHUP, syscall.SIGUSR1)
langgo.SignalNotify()
fmt.Printf("pid = %d\n", os.Getpid())
<-done
}
pid = 78602
receive sig is user defined signal 1
receive sig is hangup
#!/usr/bin/env bash
kill -USR1 78602
sleep 1
kill -HUP 78602
Last updated