I'm using Linux, go, and os/exec to run some commands. I want to know a process' realtime memory usage. That means that I can ask for memory usage anytime after I start the process, not just after it ran.
(That's why the answer in Measuring memory usage of executable run using golang is not an option for me)
For example:
cmd := exec.Command(...)
cmd.Start()
//...
if cmd.Memory()>50 {
fmt.Println("Oh my god, this process is hungry for memory!")
}
I don't need very precise value, but it would be great if it's error range is lower than, say, 10 megabytes.
Is there a go way to do that or I need some kind of command line trick?