我有一个带有以下成员函数的类:
/// 调用者进程ID
virtual pid_t Pid() const = 0;
/// 物理内存大小(单位:KB)
virtual uint64_t Size() const = 0;
/// 进程占用的常驻内存大小
virtual uint64_t Rss() const = 0;
/// 进程使用的CPU百分比
virtual double PercentCpu() const = 0;
/// 进程使用的内存百分比
virtual double PercentMemory() const = 0;
/// 当前进程中的线程数
virtual int32_t Lwps() const = 0;
这个类的职责是返回调用者的进程信息。物理内存大小可以通过sysctl调用轻松确定,PID也很简单,但是除此之外的调用一直困扰着我,除了调用ps或top上的popen并解析输出 - 这是不可接受的。非常感谢任何帮助。
要求:
在g++ 4.0上编译
无obj-c
OSX 10.5