add shell.Exec() to execute and never return
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
df1460aa69
commit
4736714c08
19
shell.go
19
shell.go
|
@ -16,6 +16,9 @@ import "github.com/svent/go-nbreader"
|
||||||
import log "github.com/sirupsen/logrus"
|
import log "github.com/sirupsen/logrus"
|
||||||
// import "github.com/wercker/journalhook"
|
// import "github.com/wercker/journalhook"
|
||||||
|
|
||||||
|
// TODO: look at https://github.com/go-cmd/cmd/issues/20
|
||||||
|
// use go-cmd instead here?
|
||||||
|
|
||||||
var callback func(interface{}, int)
|
var callback func(interface{}, int)
|
||||||
|
|
||||||
var shellStdout *os.File
|
var shellStdout *os.File
|
||||||
|
@ -251,3 +254,19 @@ func nonBlockingReader(buffReader *bufio.Reader, writeFileHandle *os.File, stdou
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// run something and never return from it
|
||||||
|
// TODO: pass STDOUT, STDERR, STDIN correctly
|
||||||
|
// TODO: figure out how to nohup the process and exit
|
||||||
|
func Exec(cmdline string) {
|
||||||
|
log.Println("shell.Run() START " + cmdline)
|
||||||
|
|
||||||
|
cmd := Chomp(cmdline) // this is like 'chomp' in perl
|
||||||
|
cmdArgs := strings.Fields(cmd)
|
||||||
|
|
||||||
|
process := exec.Command(cmdArgs[0], cmdArgs[1:len(cmdArgs)]...)
|
||||||
|
process.Start()
|
||||||
|
err := process.Wait()
|
||||||
|
log.Println("shell.Exec() err =", err)
|
||||||
|
os.Exit(0)
|
||||||
|
}
|
||||||
|
|
2
wget.go
2
wget.go
|
@ -45,6 +45,8 @@ func Wget(url string) (*bytes.Buffer) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func WgetToFile(filepath string, url string) error {
|
func WgetToFile(filepath string, url string) error {
|
||||||
|
log.Println("WgetToFile() filepath =", filepath)
|
||||||
|
log.Println("WgetToFile() URL =", url)
|
||||||
// Get the data
|
// Get the data
|
||||||
resp, err := http.Get(url)
|
resp, err := http.Get(url)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue