Projekte bieten eine Möglichkeit, die Ressourcennutzung für verschiedene Benutzer und Gruppen einzuschränken. Sie können verwendet werden, um die Anzahl der Dateien, die ein Prozess öffnen kann, die maximale Dateigröße, die CPU-Auslastung, die Speicherzuweisung und vieles mehr zu beschränken.

Jeder Prozess und Benutzer gehört zu einem oder mehreren Projekten. Das ursprüngliche Projekt eines Benutzers wird zum Zeitpunkt der Anmeldung festgelegt und ist entweder `Standard` oder das im Abschnitt Benutzerattribute dieses Moduls festgelegte Projekt. Benutzer können mit dem Befehl `newtask` zu verschiedenen Projekten `wechseln` .

Jedes Projekt verfügt über eine Liste von Benutzern und Gruppen, die darauf zugreifen dürfen, z. B. indem Sie mit dem Befehl `newtask` zu diesem `Projekt wechseln` . Nur weil ein Benutzer Mitglied eines Projekts ist, bedeutet dies nicht unbedingt, dass er zum Zeitpunkt der Anmeldung automatisch dazu gehört. Dies muss im Abschnitt Benutzerattribute festgelegt werden .

Die wichtigsten Attribute eines Projekts sind die Ressourcenbeschränkungen, die für seine Mitgliedsbenutzer gelten. Jeder hat die folgenden Attribute:

Ressource
  Die Ressource, die gesteuert wird, z. B. `process.max-Dateideskriptor` für die maximal erstellbare Dateigröße oder `process.max-CPU-Zeit` für die CPU-Zeit, die ein Prozess verbrauchen kann.
Ressourcentyp
  Legt fest, wer dieses Ressourcenlimit ändern kann, und ist fast immer auf Privilegiert festgelegt . Dieses Attribut ist optional. Wenn <Keine> ausgewählt ist, gilt stattdessen das globale Systemlimit für die Ressource. Die Bedeutungen der anderen Optionen sind:
  - Privilegiert - Kann nur von privilegierten (Superuser-) Anrufern geändert werden.
  - System - Fest für die Dauer der Betriebssysteminstanz.
  - Grundlegend - Kann vom Eigentümer des aufrufenden Prozesses geändert werden.
Höchstgrenze
  Die Obergrenze für die Verwendung, die ein Prozess verbrauchen darf, bevor die Aktion ausgelöst wird. Dies wird je nach Ressourcentyp in Byte, Sekunden oder Anzahl der Threads eingegeben.
Aktion bei Überschreitung
  Legt fest, was mit einem Prozess passiert, der das Limit überschreitet. In der Regel wird dies auf Verweigern gesetzt , wodurch der Systemaufruf, der versucht hat, das Limit zu überschreiten, einfach fehlschlägt. Die Optionen zum Senden eines Signals an den fehlerhaften Prozess können jedoch auch nützlich sein.