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

Jeder Prozess und Benutzer gehört zu einem oder mehreren Projekten. Das anfängliche Projekt eines Benutzers wird beim Login bestimmt und ist entweder default oder das Projekt, das im Abschnitt Benutzereigenschaften dieses Moduls festgelegt ist. Benutzer können zu verschiedenen Projekten wechseln, indem sie den Befehl newtask verwenden.

Jedes Projekt hat eine Liste von Benutzern und Gruppen, die darauf zugreifen dürfen, zum Beispiel durch Wechseln zu diesem mit dem Befehl newtask. Nur weil ein Benutzer Mitglied eines Projekts ist, bedeutet dies jedoch nicht zwangsläufig, dass er beim Login automatisch zu diesem gehört - dies muss im Abschnitt Benutzereigenschaften festgelegt werden.

Die wichtigsten Attribute eines Projekts sind die Ressourcengrenzen, die für die Mitgliederbenutzer gelten. Jede hat die folgenden Attribute :

Ressource
Die Ressource, die sie steuert, wie process.max-file-descriptor für die maximale erstellbare Dateigröße oder process.max-cpu-time für die Menge an CPU-Zeit, die ein Prozess verbrauchen kann.
Ressourcentyp
Bestimmt, wer diese Ressourcengrenze ändern kann, und ist fast immer auf Privilegiert gesetzt. Dieses Attribut ist optional - wenn <None> ausgewählt wird, gilt stattdessen die systemweite Grenzwerteinstellung für die Ressource. Die Bedeutungen der anderen Optionen sind:
Obergrenze
Die Obergrenze für die Nutzung, die ein Prozess verbrauchen darf, bevor die Aktion ausgelöst wird. Dies wird in Bytes, Sekunden oder Anzahl der Threads eingegeben, je nach Ressourcentyp.
Aktion bei Überschreitung
Bestimmt, was mit einem Prozess passiert, der die Grenze überschreitet. Typischerweise ist dies auf Verweigern gesetzt, was einfach dazu führt, dass der Systemaufruf, der versucht hat, die Grenze zu überschreiten, fehlschlägt. Es können jedoch auch Optionen verwendet werden, um ein Signal an den betreffenden Prozess zu senden.