mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #4301 from gyuho/no_pipe
etcdctl: use os.Stdout, os.Stderr directly for cmd
This commit is contained in:
commit
0020c63dec
@ -17,7 +17,6 @@ package command
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
@ -105,16 +104,8 @@ func execWatchCommandFunc(c *cli.Context, ki client.KeysAPI) {
|
|||||||
cmd := exec.Command(cmdArgs[0], cmdArgs[1:]...)
|
cmd := exec.Command(cmdArgs[0], cmdArgs[1:]...)
|
||||||
cmd.Env = environResponse(resp, os.Environ())
|
cmd.Env = environResponse(resp, os.Environ())
|
||||||
|
|
||||||
stdout, err := cmd.StdoutPipe()
|
cmd.Stdout = os.Stdout
|
||||||
if err != nil {
|
cmd.Stderr = os.Stderr
|
||||||
fmt.Fprintf(os.Stderr, err.Error())
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
stderr, err := cmd.StderrPipe()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Fprintf(os.Stderr, err.Error())
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
err := cmd.Start()
|
err := cmd.Start()
|
||||||
@ -122,8 +113,6 @@ func execWatchCommandFunc(c *cli.Context, ki client.KeysAPI) {
|
|||||||
fmt.Fprintf(os.Stderr, err.Error())
|
fmt.Fprintf(os.Stderr, err.Error())
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
go io.Copy(os.Stdout, stdout)
|
|
||||||
go io.Copy(os.Stderr, stderr)
|
|
||||||
cmd.Wait()
|
cmd.Wait()
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user