在我的 Go 程序中,我需要运行top以持续监控特定进程。但是top没有给我记录每一行的时间戳。我正在考虑将其添加到我自己的输出中:
top := exec.Command("top", "-p", pid)
r, w := os.Pipe()
top.Stdout = w
top.Start()
这样我就可以从r管道的一端读取输出。我想知道如何触发一个动作来获取当前时间戳并将其添加到输出中,只要有新行来自top.Stdout?我认为它应该像一个回调或 Python 的生成器,但我不确定如何在 Go 中做到这一点。
至尊宝的传说
相关分类