-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
trusz
committed
Oct 28, 2019
1 parent
c12f33b
commit d13cf70
Showing
4 changed files
with
94 additions
and
56 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package cmd | ||
|
||
import ( | ||
"os/exec" | ||
) | ||
|
||
// Background starts the given command in a background process | ||
func Background(command string) { | ||
|
||
app := "sh" | ||
arg0 := "-c" | ||
|
||
cmd := exec.Command(app, arg0, command) | ||
// stdout, _ := cmd.StdoutPipe() | ||
// stderr, _ := cmd.StderrPipe() | ||
|
||
cmd.Start() | ||
|
||
// go func() { | ||
// scanner := bufio.NewScanner(stdout) | ||
// for scanner.Scan() { | ||
// m := scanner.Text() | ||
// fmt.Println(m) | ||
// } | ||
// }() | ||
|
||
// go func() { | ||
// scanner := bufio.NewScanner(stderr) | ||
// for scanner.Scan() { | ||
// m := scanner.Text() | ||
// fmt.Println(m) | ||
// } | ||
// }() | ||
|
||
// return cmd | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,57 +1 @@ | ||
package cmd | ||
|
||
import ( | ||
"bufio" | ||
"fmt" | ||
"log" | ||
"os/exec" | ||
) | ||
|
||
// Run _ | ||
func Run(command string) *exec.Cmd { | ||
|
||
app := "sh" | ||
arg0 := "-c" | ||
|
||
cmd := exec.Command(app, arg0, command) | ||
stdout, _ := cmd.StdoutPipe() | ||
stderr, _ := cmd.StderrPipe() | ||
|
||
cmd.Start() | ||
|
||
go func() { | ||
scanner := bufio.NewScanner(stdout) | ||
for scanner.Scan() { | ||
m := scanner.Text() | ||
fmt.Println(m) | ||
} | ||
}() | ||
|
||
go func() { | ||
scanner := bufio.NewScanner(stderr) | ||
for scanner.Scan() { | ||
m := scanner.Text() | ||
fmt.Println(m) | ||
} | ||
}() | ||
|
||
return cmd | ||
} | ||
|
||
// Exec _ | ||
func Exec(command string) string { | ||
app := "sh" | ||
arg0 := "-c" | ||
|
||
// cmd := exec.Command(app, arg0, command) | ||
// stdout, _ := cmd.StdoutPipe() | ||
// stderr, _ := cmd.StderrPipe() | ||
|
||
// cmd.Run() | ||
|
||
out, err := exec.Command(app, arg0, command).Output() | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
return string(out) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
package cmd | ||
|
||
import ( | ||
"log" | ||
"os/exec" | ||
) | ||
|
||
// Exec runs the command and returns the output | ||
func Exec(command string) string { | ||
app := "sh" | ||
arg0 := "-c" | ||
|
||
out, err := exec.Command(app, arg0, command).Output() | ||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
return string(out) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
package cmd | ||
|
||
import ( | ||
"bufio" | ||
"fmt" | ||
"os/exec" | ||
) | ||
|
||
// Run starts the command in a new thread, | ||
// writes out stdout and stderr outputs | ||
// and returns the command object | ||
func Run(command string) *exec.Cmd { | ||
|
||
app := "sh" | ||
arg0 := "-c" | ||
|
||
cmd := exec.Command(app, arg0, command) | ||
stdout, _ := cmd.StdoutPipe() | ||
stderr, _ := cmd.StderrPipe() | ||
|
||
cmd.Start() | ||
|
||
go func() { | ||
scanner := bufio.NewScanner(stdout) | ||
for scanner.Scan() { | ||
m := scanner.Text() | ||
fmt.Println(m) | ||
} | ||
}() | ||
|
||
go func() { | ||
scanner := bufio.NewScanner(stderr) | ||
for scanner.Scan() { | ||
m := scanner.Text() | ||
fmt.Println(m) | ||
} | ||
}() | ||
|
||
return cmd | ||
} |