|
|
@ -38,6 +38,8 @@ var mappings = map[string]func(string) string{
|
|
38
|
38
|
},
|
|
39
|
39
|
}
|
|
40
|
40
|
|
|
|
41
|
var delay = flag.Duration("delay", 1*time.Second, "time to wait until restart")
|
|
|
42
|
|
|
41
|
43
|
func main() {
|
|
42
|
44
|
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
|
|
43
|
45
|
|
|
|
@ -54,7 +56,7 @@ func main() {
|
|
54
|
56
|
os.Exit(1)
|
|
55
|
57
|
}
|
|
56
|
58
|
|
|
57
|
|
file := os.Args[1]
|
|
|
59
|
file := args[0]
|
|
58
|
60
|
if !isFile(file) {
|
|
59
|
61
|
fmt.Fprintf(os.Stderr, "Error: %s is not a file.\n", file)
|
|
60
|
62
|
os.Exit(1)
|
|
|
@ -119,9 +121,9 @@ func (r *Runner) Start() error {
|
|
119
|
121
|
r.cmd = exec.Command("sh", "-c", r.shellCmd)
|
|
120
|
122
|
r.cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
|
|
121
|
123
|
err := r.cmd.Run()
|
|
122
|
|
log.Printf("%s finished: %s", r.shellCmd, err)
|
|
|
124
|
log.Printf("%s finished: %s, restarting in %s", r.shellCmd, err, delay)
|
|
123
|
125
|
|
|
124
|
|
time.Sleep(1 * time.Second)
|
|
|
126
|
time.Sleep(*delay)
|
|
125
|
127
|
if !r.restart {
|
|
126
|
128
|
break
|
|
127
|
129
|
}
|