我想ps在 goroutine 中连续触发命令来监控内存和 cpu 的使用情况。我没有使用,top因为top不允许我像ps那样选择列。这个goroutine需要接收一个停止信号来停止command,但我不知道如何在等待信号时不阻止运行命令。因为top我可以这样做:
top := exec.Command("top")
<-stop // blocking
top.Process.Signal(os.Kill)
但ps如果我这样做:
ps := exec.Command("ps")
for {
ps.Run()
<-stop
}
上面的代码将阻塞在stop. 我想继续射击ps.Run(),同时能够在停止信号准备好时停止。谢谢。
蝴蝶不菲
茅侃侃
相关分类