Unix-system-calls-getrusage

提供:Dev Guides
移動先:案内検索

[top]#

|http://www.google.com/[Google] | a|

Web This Site
  • 初心者向けのUnix *
  • 高度なUnix *

選択した読書

Copyright©2014 by finddevguides

[cols=",,,,,,,",]

| |  Home   | |  References   | |  Discussion Forums   | |  About TP  

[width="100%",cols="100%",]

a| == getrusage()-Unix、Linuxシステムコール

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]

広告

NAME

getrusage-リソース使用量を取得する

概要

  • #include <sys/time.h> * *#include <sys/resource.h> *
*int getrusage(int* __who __ **、struct rusage ** *__ usage __* *); **

説明

*getrusage* ()は、 *RUSAGE_SELF* または *RUSAGE_CHILDREN* の_who_の現在のリソース使用量を返します。 前者は現在のプロセスが使用するリソースを要求し、後者は終了して待機している子プロセスが使用するリソースを要求します。
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*/ };

返り値

成功すると、ゼロが返されます。 エラーの場合、-1が返され、_errno_が適切に設定されます。

エラー

Tag Description
EFAULT usage points outside the accessible address space.
EINVAL who is invalid.

準拠

SVr4、4.3BSD。 POSIX.1-2001は getrusage ()を指定しますが、_ru_utime_および_ru_stime_フィールドのみを指定します。

ノート

_ <sys/time.h> を含めることは最近では必要ありませんが、移植性が向上します。 (実際、_struct timeval_は <sys/time.h> _で定義されています。)

2.6.9より前のLinuxカーネルバージョンでは、 SIGCHLD のディスポジションが SIG_IGN に設定されている場合、子プロセスのリソース使用量は RUSAGE_CHILDREN によって返される値に自動的に含まれますが、POSIX.1-2001はこれを明示的に禁止します。 この不適合は、Linux 2.6.9以降で修正されています。

上記の構造体は4.3BSD Renoから取られたものです。 Linuxでは、すべてのフィールドが意味を持つわけではありません。 Linux 2.4では、フィールド_ru_utime ru_stime ru_minflt_、および_ru_majflt_のみが維持されます。 Linux 2.6以降、_ru_nvcsw_および_ru_nivcsw_も維持されます。

関連項目

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]

広告

|  

[cols="^",]

|Advertisements