diff --git a/goprocstat.go b/goprocstat.go index fbd53d1..a01d6ac 100644 --- a/goprocstat.go +++ b/goprocstat.go @@ -4,24 +4,31 @@ import ( "flag" "fmt" "github.com/shirou/gopsutil/process" + "os" "time" ) func main() { - flagPID := flag.Int("p", 1, "Gimme your PID") + flagPID := flag.Int("p", 1, "PID for process to monitor") + flagNUM := flag.Int("n", -1, "Stop after n times of displaying stat") flag.Parse() p, _ := process.NewProcess(int32(*flagPID)) v, err := p.Times() + cnt:=0 for { + if *flagNUM >= 0 && cnt >= *flagNUM { + os.Exit(0) + } + if err == nil { fmt.Printf("%d pid: %d user: %f\t system: %f\n", time.Now().Unix(), *flagPID, v.User, v.System) } else { fmt.Println(err) } time.Sleep(time.Second) + cnt++ } - }