日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux系统调用--getrusage函数详解

發布時間:2024/2/28 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统调用--getrusage函数详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
功能描述: ???獲得進程的相關資源信息。如:用戶開銷時間,系統開銷時間,接收的信號量等等;
用法: ??#include <sys/types.h> ??#include <sys/time.h> ??#include <sys/resource.h>
??#define ??RUSAGE_SELF ????0 ??#define ??RUSAGE_CHILDREN ????-1 ?? ??int getrusage(int who, struct rusage *usage);? ???當調用成功后,返回0,否則-1; ? 參數: ???who:可能選擇有 ???RUSAGE_SELF:獲取當前進程的資源使用信息。以當前進程的相關信息來填充rusage(數據)結構 ???RUSAGE_CHILDREN:獲取子進程的資源使用信息。rusage結構中的數據都將是當前進程的子進程的信息 ???usage:指向存放資源使用信息的結構指針。
rusage(數據)結構定義在/usr/include/sys/resource.h中,下面是rusage的結構: 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? };

舉個例子: int who = RUSAGE_SELF; struct rusage usage; int ret; ret = getrusage(who, &usage); 這樣你就可以用usage獲取你想要的東西了; 同樣wait3()和wait4()兩個函數也可以得到進程資源信息.
得到CPU使用時間的用法: struct rusage rup; getrusage(RUSAGE_SELF, &rup); long sec = rup.ru_utime.tv_sec + rup.ru_stime.tv_sec; long usec = rup.ru_utime.tv_usec + rup.ru_stime.tv_usec; sec += usec/1000000; usec %= 1000000;

總結

以上是生活随笔為你收集整理的Linux系统调用--getrusage函数详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。