int getrlimit (int resource, struct rlimit *rlim);
int getrusage (int who, struct rusage *usage);
int setrlimit (int resource, const struct rlimit *rlim);
RLIMIT_CPU /* ÃÊ ´ÜÀ§ÀÇ CPU ½Ã°£ */
RLIMIT_FSIZE /* ÃÖ´ë ÆÄÀÏ Å©±â */
RLIMIT_DATA /* ÃÖ´ë µ¥ÀÌŸ Å©±â */
RLIMIT_STACK /* ÃÖ´ë ½ºÅà ũ±â */
RLIMIT_CORE /* ÃÖ´ë ÄÚ¾î ÆÄÀÏ Å©±â */
RLIMIT_RSS /* ÃÖ´ë °ÅÁÖ ÁýÇÕ Å©±â */
RLIMIT_NPROC /* ÃÖ´ë ÇÁ·Î¼¼½º ¼ö */
RLIMIT_NOFILE /* ÃÖ´ë ¿ ¼ö ÀÖ´Â ÆÄÀÏÀÇ ¼ö */
RLIMIT_MEMLOCK /* ÃÖ´ë Àá±ä ±â¾ï Àå¼Ò ÁÖ¼Ò °ø°£ */
RLIMIT_AS /* ÁÖ¼Ò °ø°£(°¡»ó ¸Þ¸ð¸®) Á¦ÇѰª */
¸¸ÀÏ RLIM_INFINITY·Î ¼³Á¤µÇ¾ú´Ù¸é ÀÚ¿øÀº ¹«Á¦ÇÑÀÌ´Ù. RLIMIT_OFILE´Â RLIMIT_NOFILE¿¡ ´ëÇÑ BSD À̸§ÀÌ´Ù.
rlimit ±¸Á¶Ã¼´Â ´ÙÀ½°ú °°´Ù:
struct rlimit
{
rlim_t rlim_cur;
rlim_t rlim_max;
};
getrusage´Â ÇöÀç ÀÚ¿øÀÇ »ç¿ë°ªÀ» ¹ÝȯÇÑ´Ù. who´Â RUSAGE_SELF³ª RUSAGE_CHILDREN Áß ÇϳªÀÌ´Ù.
struct rusage
{
struct timeval ru_utime; /* »ç¿ëµÈ »ç¿ëÀÚ ½Ã°£ */
struct timeval ru_stime; /* »ç¿ëµÈ ½Ã½ºÅÛ ½Ã°£ */
long ru_maxrss; /* ÃÖ´ë °ÅÁÖ ÁýÇÕ Å©±â */
long ru_ixrss; /* ÃÑ °øÀ¯ ¸Þ¸ð¸® Å©±â */
long ru_idrss; /* °øÀ¯µÇÁö ¾ÊÀº ÃÑ µ¥ÀÌŸ Å©±â */
long ru_isrss; /* °øÀ¯µÇÁö ¾ÊÀº ÃÑ ½ºÅà ũ±â */
long ru_minflt; /* ÆäÀÌÁö ¹Ýȯ(reclaims) */
long ru_majflt; /* ÆäÀÌÁö ÆúÆ® */
long ru_nswap; /* ½º¿Ò */
long ru_inblock; /* ºí·° ÀÔ·Â ¿¬»ê */
long ru_oublock; /* ºí·° Ãâ·Â ¿¬»ê */
long ru_msgsnd; /* º¸³½ ¸Þ¼¼Áö */
long ru_msgrcv; /* ¹ÞÀº ¸Þ¼¼Áö */
long ru_nsignals; /* ¹ÞÀº ½Ã±×³Î */
long ru_nvcsw; /* ÀÚ¹ßÀûÀÎ ¹®¸Æ ±³È¯ */
long ru_nivcsw; /* ºñÀÚ¹ßÀûÀÎ ¹®¸Æ ±³È¯ */
};