.\" Hey Emacs! This file is -*- nroff -*- source. .\" Copyright (C) 1992 Drew Eckhardt;, March 28, 1992 .\" .\" Se autoriza hacer y distribuir copias literales de este manual siempre .\" que el aviso de copyright y este aviso de autorización se preserven en .\" todas las copias. .\" .\" Se autoriza copiar y distribuir versiones modificadas de este manual .\" bajo las condiciones para copiar literalmente, siempre que todo el trabajo .\" resultante sea distribuido bajo los términos de un aviso de autorización .\" idéntico a éste. .\" .\" Ya que el kernel y las bibliotecas de Linux están cambiando .\" constantemente, esta página de manual puede ser incorrecta u obsoleta. .\" El(Los) autor(es) no asumen ninguna responsabilidad de los errores u .\" omisiones, o de los daños resultantes del uso de la información contenida .\" aquí. El(Los) autor(es) pueden no haber tomado el mismo nivel de cuidado en .\" la producción de este manual, que es licenciado gratuitamente, como el que .\" podrían haber tomado trabajando profesionalmente. .\" .\" Las versiones procesadas o tratadas de este manual que no se acompañen .\" con los fuentes deben reconocer el copyright y los autores de este trabajo. .\" .\" .\" Modificado por Michael Haardt .\" Modificado Vie 23 Jul 21:18:14 1993 por Rik Faith .\" Modificado el 13 de Enero de 1996 por Arnt Gulbrandsen .\" Modificado el 22 de Enero de 1996 por aeb, seguido de un comentario de .\" Tigran Aivazian .\" Modificado el 14 de Abril de 1996 por aeb, seguido de un comentario de .\" Robert Bihlmeyer .\" Modificado el Martes 22 de Octubre de 1996 a las 17:34:42 por .\" Eric S. Raymond .\" Revisado el Vie 2 de Oct de 1998 por Juan Piernas .\" Revisado el Mié 30 de Dic de 1998 por Juan Piernas .\" .TH GETRLIMIT 2 "23 julio 1993" "Linux" "Manual del programador de Linux" .SH NOMBRE getrlimit, getrusage, setrlimit \- devuelve/establece el límite de recursos y su utilización .SH SINOPSIS .B #include .br .B #include .br .B #include .sp .BI "int getrlimit (int " resource ", struct rlimit *" rlim ); .br .BI "int getrusage (int " who ", struct rusage *" usage ); .br .BI "int setrlimit (int " resource ", const struct rlimit *" rlim ); .SH DESCRIPCIÓN .B getrlimit y .B setrlimit devuelve / establece el límite de recursos, respectivamente. .I resource debería ser uno de los siguientes: .PP \fBRLIMIT_CPU\fP /* tiempo de CPU en segundos */ .br \fBRLIMIT_FSIZE\fP /* tamaño Máximo de fichero */ .br \fBRLIMIT_DATA\fP /* tamaño máximo de los datos */ .br \fBRLIMIT_STACK\fP /* tamaño máximo de la pila */ .br \fBRLIMIT_CORE\fP /* tamaño máximo del fichero del núcleo */ .br \fBRLIMIT_RSS\fP /* tamaño máximo de la parte residente (fija) */ .br \fBRLIMIT_NPROC\fP /* núero máximo de procesos */ .br \fBRLIMIT_NOFILE\fP /* número máximo de ficheros abiertos */ .br \fBRLIMIT_MEMLOCK\fP /* máximo espacio de direcciones fijado en memoria*/ .br \fBRLIMIT_AS\fP /* límite del espacio de direcciones (memoria virtual) */ .PP Un recurso puede definirse como ilimitado si se establece el límite en .BR RLIM_INFINITY ". " RLIMIT_OFILE es el nombre BSD para .BR RLIMIT_NOFILE . .PP La estructura .B rlimit está definida como sigue: .PP .in +0.5i .nf struct rlimit { int rlim_cur; int rlim_max; }; .fi .in -0.5i .PP .B getrusage devuelve la utilización actual de los recursos, para un \fIwho\fP de cualquiera de los siguientes, bien .B RUSAGE_SELF oo .B RUSAGE_CHILDREN. .PP .in +0.5i .nf struct rusage { struct timeval ru_utime; /* tiempo de usuario utilizado */ struct timeval ru_stime; /* tiempo de sistema utilizado */ long ru_maxrss; /* tamaño máximo de la parte establecida como residente */ long ru_ixrss; /* tamaño total de la memoria compartida */ long ru_idrss; /* tamaño total de la memoria no compartida */ long ru_isrss; /* tamaño de pila no compartido */ long ru_minflt; /* peticiones de página */ long ru_majflt; /* fallos de página */ long ru_nswap; /* intercambios */ long ru_inblock; /* operaciones de entrada de bloques */ long ru_oublock; /* operaciones de salida de bloques */ long ru_msgsnd; /* mensajes enviados */ long ru_msgrcv; /* mensajes recibidos */ long ru_nsignals; /* señales recibidas */ long ru_nvcsw; /* cambios de contexto voluntarios */ long ru_nivcsw; /* cambios de contexto involuntarios */ }; .fi .in -0.5i .SH "VALOR DEVUELTO" Si tiene éxito, devuelve cero. Si hay error, devuelve \-1, y .I errno toma el correspondiente valor. .SH ERRORES .TP .B EFAULT .I rlim o .I usage apuntan fuera del espacio de direcciones accesible. .TP .B EINVAL .BR getrlimit " o " setrlimit es llamado con un \fIresource\fP erróneo, o \fBgetrusage\fP es llamado con un \fIwho\fP erróneo. .TP .B EPERM Un no-superusuario intenta utilizar \fBsetrlimit()\fP para incrementar el límite `flexible' o `estricto' por encima del límite estricto actual, o un superusuario intenta incrementar RLIMIT_NOFILE por encima del máximo actual del núcleo. .SH "CONFORME A" SVr4, BSD 4.3 .SH "VÉASE TAMBIÉN" .BR ulimit (2), .BR quotactl (2)