www.delorie.com/djgpp/doc/libc/libc_416.html   search  
libc.a reference

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

getrusage

Syntax

 
#include <sys/time.h>
#include <sys/resource.h>

int getrusage(int who, struct rusage *rusage);

Description

This function returns information about the running process. The structure struct rusage is defined on <sys/resource.h> as follows:

 
  struct rusage {
    struct timeval ru_utime;	/* user time used */
    struct timeval ru_stime;	/* system time used */
    long ru_maxrss;		/* integral max resident set size */
    long ru_ixrss;		/* integral shared text 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 */
  };

Currently, the only field that is computed is ru_utime. It is computed as the total elapsed time used by the calling program. The remainder of the fields are set to zero.

The who parameter must be RUSAGE_SELF or RUSAGE_CHILDREN.

Return Value

Zero on success, nonzero on failure.

Portability

ANSI/ISO C No
POSIX No

Example

 
struct rusage r;
getrusage(RUSAGE_SELF, &r);


  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2004   by DJ Delorie     Updated Apr 2004