Penguin
Blame: getrlimit(2)
EditPageHistoryDiffInfoLikePages
Annotated edit history of getrlimit(2) version 3 showing authors affecting page license. View with all changes included.
Rev Author # Line
1 perry 1 !!NAME
2 PerryLorier 2 getrlimit - get resource limits
1 perry 3 !!SYNOPSIS
4
2 PerryLorier 5 __#include <sys/time.h>__
6 __#include <sys/resource.h>__
7 __#include <unistd.h>__
1 perry 8
2 PerryLorier 9 __int getrlimit (int__ ''resource''__, struct rlimit *__''rlim''__);__
1 perry 10 !!DESCRIPTION
2 PerryLorier 11 getrlimit(2) get resource limits respectively. ''resource'' should be one of:
1 perry 12
2 PerryLorier 13 __RLIMIT_CPU__ /* CPU time in seconds */
14 __RLIMIT_FSIZE__ /* Maximum filesize */
15 __RLIMIT_DATA__ /* max data size */
16 __RLIMIT_STACK__ /* max stack size */
17 __RLIMIT_CORE__ /* max core file size */
18 __RLIMIT_RSS__ /* max resident set size */
19 __RLIMIT_NPROC__ /* max number of processes */
20 __RLIMIT_NOFILE__ /* max number of open files */
21 __RLIMIT_MEMLOCK__ /* max locked-in-memory address space*/
22 __RLIMIT_AS__ /* address space (virtual memory) limit */
1 perry 23
2 PerryLorier 24 A resource may unlimited if you set the limit to __RLIM_INFINITY__. __RLIMIT_OFILE__ is the BSD name for __RLIMIT_NOFILE__.
1 perry 25
2 PerryLorier 26 The __rlimit__ structure is defined as follows:
1 perry 27
2 PerryLorier 28 struct rlimit {
29 rlim_t rlim_cur;
30 rlim_t rlim_max;
31 };
1 perry 32
2 PerryLorier 33 __getrusage__ returns the current resource usages, for a ''who'' of either __RUSAGE_SELF__ or __RUSAGE_CHILDREN.__
1 perry 34
2 PerryLorier 35 struct rusage {
36 struct timeval ru_utime; /* user time used */
37 struct timeval ru_stime; /* system time used */
38 long ru_maxrss; /* maximum resident set size */
39 long ru_ixrss; /* integral shared memory size */
40 long ru_idrss; /* integral unshared data size */
41 long ru_isrss; /* integral unshared stack size */
42 long ru_minflt; /* page reclaims */
43 long ru_majflt; /* page faults */
44 long ru_nswap; /* swaps */
45 long ru_inblock; /* block input operations */
46 long ru_oublock; /* block output operations */
47 long ru_msgsnd; /* messages sent */
48 long ru_msgrcv; /* messages received */
49 long ru_nsignals; /* signals received */
50 long ru_nvcsw; /* voluntary context switches */
51 long ru_nivcsw; /* involuntary context switches */
52 };
53 !!RETURN VALUE
1 perry 54
55
2 PerryLorier 56 On success, zero is returned. On error, -1 is returned, and ''errno'' is set appropriately.
1 perry 57
58 !!ERRORS
2 PerryLorier 59 ;[EFAULT]: ''rlim'' points outside the accessible address space.
3 PerryLorier 60 ;[EINVAL]: getrlimit(2) is called with a bad ''resource''
1 perry 61 !!CONFORMING TO
62 SVr4, BSD 4.3
63 !!NOTE
2 PerryLorier 64 Including ''<sys/time.h>'' is not required these days, but increases portability. (Indeed, ''struct timeval'' is defined in ''<sys/time.h>''.)
1 perry 65
2 PerryLorier 66 The above struct was taken from BSD 4.3 Reno. Not all fields are meaningful under Linux. Right now (Linux 2.4) only the fields __ru_utime__, __ru_stime__, __ru_minflt__, __ru_majflt__, and __ru_nswap__ are maintained.
1 perry 67
68 !!SEE ALSO
69 quotactl(2), ulimit(3)
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 7 times)