github.com/pbberlin/tools@v0.0.0-20160910141205-7aa5421c2169/os/osutilpb/exec_cmd.go (about) 1 package osutilpb 2 3 import ( 4 "log" 5 "os/exec" 6 ) 7 8 // http://stackoverflow.com/questions/10385551/get-exit-code-go 9 func ExecCmdWithExitCode(name string, args ...string) (success bool) { 10 11 success = true 12 13 command := exec.Command(name, args...) 14 15 if err := command.Start(); err != nil { 16 log.Fatalf("command.Start: %v", err) 17 } 18 19 if err := command.Wait(); err != nil { 20 if exiterr, ok := err.(*exec.ExitError); ok { 21 log.Printf("exit err: %v - %v %v", exiterr, name, args) 22 // The program has exited with an exit code != 0 23 success = false 24 } else { 25 log.Fatalf("command.Wait: %v, success dubious", err) 26 } 27 } 28 29 return 30 }