为了账号安全,请及时绑定邮箱和手机立即绑定

golang 监控 cmd 输出

golang 监控 cmd 输出

Go
慕容森 2021-09-10 21:46:47
我想监视进程状态。任务差不多就是这样。t.py 每秒只输出一个数字,我想使用 test.go 将这个数字存储到一个文件中。不幸的是,以下代码无法完成这项工作。t.py:import timefrom sys import stdouti=0while 1:    print("%d" % i)     time.sleep(1)    i += 1测试import (    "bufio"    "fmt"    "os"    "os/exec")func main() {    cmd := exec.Command("python", "t.py")    stdout, err := cmd.StdoutPipe()    if err != nil {        fmt.Println(err)    }    scanner := bufio.NewScanner(stdout)    err = cmd.Start()    if err != nil {        fmt.Println(err)    }    for scanner.Scan() {        line := scanner.Text()        f, _ := os.Create("./temp.txt")        fmt.Fprintf(f, "then %s\n", line)        f.Close()    }}
查看完整描述

1 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

输出被缓冲。添加stdout.flush()后print


import time

from sys import stdout


i=0

while 1:

    print("%d" % i) 

    stdout.flush()

    time.sleep(1)

    i += 1


查看完整回答
反对 回复 2021-09-10
  • 1 回答
  • 0 关注
  • 316 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信