Tags: #go
#!/usr/bin/env bash
while :
do
date "+%H:%M:%S"
sleep 1
done
func main() {
sig := make(chan os.Signal, 1)
signals := []os.Signal{
syscall.SIGINT,
syscall.SIGTERM,
}
signal.Notify(sig, signals...)
cmd := exec.Command("./binary.sh")
cmd.Stdout = out
go func(sig chan os.Signal, cmd *exec.Cmd) {
<-sig
signal.Stop(sig)
err := cmd.Process.Signal(os.Kill)
if err != nil {
log.Fatal(err)
}
}(sig, cmd)
err := cmd.Start()
if err != nil {
return err
}
cmd.Wait()
}