getrusage 函数调用
功能描述:
用于获取当前资源的利用情况
头文件位置:
结构声明:#include </usr/include/bits/resource.h>
函数声明:#include </usr/include/sys/resource.h>
函数原型:
#include <sys/resource>
int getrusage(int who, struct rusage *usage);
参数设置:
who:
RUSAGE_SELF:获取当前进程的资源利用情况。
RUSAGE_CHILDREN:获取子进程的资源利用情况。
usage:
struct rusage {
struct timeval ru_utime; /* user time used */
struct timeval ru_stime; /* system time used */
long ru_maxrss; /* maximum resident set size */
long ru_ixrss; /* integral shared memory size */
long ru_idrss; /* integral unshared data size */
long ru_isrss; /* integral unshared stack size */
long ru_minflt; /* page reclaims */
long ru_majflt; /* page faults */
long ru_nswap; /* swaps */
long ru_inblock; /* block input operations */
long ru_oublock; /* block output operations */
long ru_msgsnd; /* messages sent */
long ru_msgrcv; /* messages received */
long ru_nsignals; /* signals received */
long ru_nvcsw; /* voluntary context switches */
long ru_nivcsw; /* involuntary context switches */
};
返回值:
成功返回0。失败返回-1,errno设定为:
EFAULT:rlim或者usage指针指向的空间不可访问
EINVAL:who参数无效