//go:build unix package api import ( "syscall" "time" ) // processCPUTime 返回进程自启动累计的 CPU 时间(用户态 + 内核态); // 取不到时返回 0,「关于」页 CPU 均值显示为 0 而非报错。 func processCPUTime() time.Duration { var ru syscall.Rusage if err := syscall.Getrusage(syscall.RUSAGE_SELF, &ru); err != nil { return 0 } return time.Duration(ru.Utime.Nano() + ru.Stime.Nano()) }