Tags: #go
#!/usr/bin/env bash
#
# NOTE: don't forget to `chmod +x process.sh`
while :
do
date "+%H:%M:%S"
sleep 1
done
package main
import (
"log"
"os"
"os/exec"
"time"
)
func main() {
cmd := exec.Command("./process.sh")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err := cmd.Start()
if err != nil {
log.Fatal(err)
}
timer := time.NewTimer(time.Second * 5)
go func(timer *time.Timer, cmd *exec.Cmd) {
for range timer.C {
err := cmd.Process.Signal(os.Kill)
if err != nil {
log.Fatal(err)
}
}
}(timer, cmd)
cmd.Wait()
}