【发布时间】:2016-09-16 17:54:44
【问题描述】:
我想知道是否有一种方法可以在 Go 中运行 top -b | grep --line-buffered [some_pid] >> out.log 一段时间,然后在收到来自通道的值后将其杀死。 os.exec 似乎不支持管道命令。谢谢。
【问题讨论】:
-
您可以读取标准输出并将那里的输出用作另一个命令的输入。
-
你必须按照@evanmcdonnal 所说的去做。获取
top -b的输出并将其用作grep --line-buffered [pid]的输入;获取它的输出并将其写入文件。 -
使用
cmd2.Stdin,_ := cmd1.StdoutPipe()链接命令,然后按顺序运行。 -
看看this问题
标签: go