Los proyectos proporcionan una manera de imponer límites en el uso de recursos para diferentes usuarios y grupos. Se pueden usar para restringir la cantidad de archivos que puede abrir un proceso, su tamaño máximo de archivo, uso de CPU, asignación de memoria y más. Cada proceso y usuario pertenece a uno o más proyectos. El proyecto inicial de un usuario se determina en el momento del inicio de sesión y será predeterminado o el proyecto se establecerá en la sección Atributos del usuario de este módulo. Los usuarios pueden cambiar a diferentes proyectos utilizando el comando newtask .
Cada proyecto tiene una lista de usuarios y grupos a los que se les permite acceder, por ejemplo, cambiando a él con el comando newtask . Sin embargo, el hecho de que un usuario sea miembro de un proyecto no significa necesariamente que pertenecerá automáticamente al momento de inicio de sesión; esto debe establecerse en la sección Atributos del usuario .
Los atributos más importantes de un proyecto son los límites de recursos que se aplican a sus usuarios miembros. Cada uno tiene los siguientes atributos:
- Recurso
- El recurso que controla, como process.max-file-descriptor para el tamaño máximo de archivo creable, o process.max-cpu-time para la cantidad de tiempo de CPU que puede consumir un proceso.
- Tipo de recurso
- Determina quién puede modificar este límite de recursos y casi siempre se establece en Privilegiado . Este atributo es opcional: si se selecciona <Ninguno> , se aplicará el límite global del sistema para el recurso. Los significados de las otras opciones son:
- Privilegiado : solo puede ser modificado por personas que llaman con privilegios (superusuario).
- Sistema : corregido durante la duración de la instancia del sistema operativo.
- Básico : puede ser modificado por el propietario del proceso de llamada.
- Limite superior
- El límite superior de uso que un proceso puede consumir antes de que se active la acción. Esto se ingresa en bytes, segundos o número de hilos, dependiendo del tipo de recurso.
- Acción cuando se excede
- Determina qué sucede con un proceso que excede el límite. Por lo general, esto se establece en Denegar , lo que simplemente hace que falle la llamada al sistema que intentó exceder el límite. Sin embargo, las opciones para enviar una señal al proceso ofensivo también pueden ser útiles.