Subroutine proj_execve
Zweck
Führt eine Anwendung mit der angegebenen Projektzuordnung aus
Bibliothek
Bibliothek libaacct.a
Syntax
<sys/aacct.h>
int proj_execve(char * path char *const arg[], char *const env[], projid_t projid, int force);Beschreibung
Der Systemaufruf proj_execve ordnet die angeforderte Projekt-ID dem aufrufenden Prozess zu und führt das angegebene Programm aus. Diese Subroutine prüft anhand der verfügbaren Projektzuordnungsregeln für die Benutzer-ID, die Gruppen-ID und den Anwendungsnamen des Aufrufenden, ob der Aufrufende die angeforderte Projekt-ID der Anwendung zuordnen darf. Wenn die angeforderte Projektzuweisung nicht zulässig ist, wird ein Fehlercode zurückgegeben. Der Benutzer mit Rootberechtigung oder erweiterten Abrechnungsadministratorberechtigungen kann die Projektzuordnung jedoch erzwingen, indem er den Parameter force auf 1setzt.
Parameter
| Element | Beschreibung |
|---|---|
| Pfad | Pfad für die auszuführende Anwendung oder das auszuführende Programm. |
| Argument | Liste der Argumente für den neuen Prozess. |
| Umgebung | Umgebung für den neuen Prozess. |
| projid | Projekt-ID, die dem neuen Prozess zugewiesen werden soll |
| force | Option zum Überschreiben der Liste zulässiger Projekte für die Anwendung, den Benutzer oder die Gruppe. |
Rückgabewerte
| Element | Beschreibung |
|---|---|
| 0 | Bei Erfolg kehrt nicht zum aufrufenden Prozess zurück. |
| -1 | Die Subroutine ist fehlgeschlagen. |
Fehlercodes
| Element | Beschreibung |
|---|---|
| EPERM | Zugriff verweigert. Ein Benutzer ohne Berechtigungen hat den Aufruf versucht. |