commit cf7b91633ec69f1d119a6cbc2b220b7f5224f5a6 Author: Evan Chen Date: Fri Dec 10 17:42:47 2021 +0800 update diff --git a/main.go b/main.go new file mode 100644 index 0000000..5840af5 --- /dev/null +++ b/main.go @@ -0,0 +1,34 @@ +package main + +import ( + "fmt" + "os" + "os/exec" + "os/signal" + "time" +) + +func main() { + c := make(chan os.Signal, 1) + signal.Notify(c, os.Interrupt) + file, err := os.OpenFile("out", os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0600) + if err != nil { + panic(err) + } + file.WriteString("start: " + os.Args[1] + "\n") + for { + select { + case <-c: + file.WriteString("bye\n") + exe, _ := os.Executable() + cmd := exec.Command(exe, os.Args[1:]...) + err := cmd.Start() + if err != nil { + fmt.Println(err) + } + os.Exit(0) + case <-time.Tick(time.Second): + file.WriteString("test\n") + } + } +}