## 执行
### 方法1
```
c := "tail -f nohup.out"
cmd := exec.Command("sh", "-c", c)
cmd.Output()
```
### 方法2
```
c := "tail -f nohup.out"
cmd := exec.Command("sh", "-c", c)
out, err = cmd.Output()
checkErr(err,out)
```
```
func checkErr(err error,out []byte) {
if err != nil {
fmt.Println(ERROR_MSG)
fmt.Println(err.Error())
os.Exit(1)
}
fmt.Println(string(out))
}
```
## 输出
两种方法结果一样,直接阻塞了,和直接使用**tail -f nohup.out**命令不一样,没有任何内容显示出来,求指点
package main
import (
"bufio"
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("sh", "-c", "tail -f nohup.out")
stdout, err := cmd.StdoutPipe()
if err != nil {
panic(err)
}
go func() {
reader := bufio.NewReader(stdout)
for {
line, _, err := reader.ReadLine()
if err != nil {
panic(err)
}
fmt.Println(string(line))
}
}()
err = cmd.Run()
if err != nil {
panic(err)
}
}
#6
更多评论