setpgid(2) setpgid(2)
NAME
setpgid - Prozeßgruppennummer einstellen
SYNTAX
#include <sys/types.h>
#include <unistd.h>
int setpgid(pidt pid, pidt pgid);
BESCHREIBUNG
setpgid() stellt die Prozeßgruppennummer des Prozesses mit der Prozeß-
nummer pid auf pgid. Wenn pgid gleich pid ist, wird der Prozeß zu
einem Prozeßgruppenleiter. Wenn pgid ungleich pid ist, dann wird der
Prozeß Mitglied einer existierenden Prozeßgruppe.
Wenn pid gleich 0 ist, wird die Prozeßnummer des aufrufenden Prozesses
benutzt. Wenn pgid gleich 0 ist, wird der Prozeß mit Prozeßnummer pid
zum Prozeßgruppenleiter.
setpgid() liefert einen Fehler, wenn eine der folgenden Bedingungen
erfüllt ist:
EACCES pid entspricht der Prozeßnummer eines Sohnprozesses des auf-
rufenden Prozesses, und der Sohnprozeß hat erfolgreich einen
exec(2)-Aufruf ausgeführt.
EINVAL pgid ist kleiner als (pidt) 0, oder größer oder gleich
PIDMAX.
EINVAL Der aufrufende Prozeß verfügt über ein steuerndes Terminal,
welches die Job-Kontrolle nicht unterstützt.
EPERM Der Prozeß mit der Prozeßnummer pid ist ein Sitzungsleiter.
EPERM pid entspricht der Prozeßnummer eines Sohnprozesses des auf-
rufenden Prozesses, und der Sohnprozeß ist nicht in dersel-
ben Sitzung wie der aufrufende Prozeß.
EPERM pgid paßt nicht auf die Prozeßnummer pid, und es gibt keinen
Prozeß mit der Prozeßgruppennummer pgid in derselben Sitzung
wie der aufrufende Prozeß.
ESRCH pid entspricht nicht der Prozeßnummer des aufrufenden Pro-
zesses oder eines Sohnprozesses des aufrufenden Prozesses.
ERGEBNIS
Nach erfolgreicher Ausführung liefert setpgid() den Wert 0 zurück.
Ansonsten wird der Wert -1 zurückgegeben, und errno wird auf die Feh-
lernummer gesetzt.
SIEHE AUCH
exec(2), exit(2), fork(2), getpid(2), getpgid(2), setsid(2).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98