SETPGID(2)

NAME
setpgid, getpgid, setpgrp, getpgrp - setze/hole Prozessgruppe

Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie die englischsprachige Handbuchseite zu Rate, indem Sie

    man -LC 2 setpgid

eingeben.

ÜBERSICHT
#include <unistd.h>

int setpgid(pid_t pid, pid_t pgid);
pid_t getpgid(pid_t pid);
int setpgrp(void);
pid_t getpgrp(void);

BESCHREIBUNG
setpgid setzt die Prozessgruppenkennung (Process Group ID) des durch pid angegebenen Prozesses auf pgid. Wenn pid Null ist wird die aktuelle Prozesskennung benutzt. Wenn pgid Null ist wird die Prozesskennung des durch pid angegebenen Prozesses benutzt. getpgid gibt die Prozessgruppenkennung des Prozesses zurück, der durch pid angegeben ist. Wenn pid Null ist, wird die Prozesskennung des aktuellen Prozesses benutzt. In der Bibliothek Linux DLL 4.4.1 ruft setpgrp einfach setpgid(0,0) auf. getpgrp ist äquivalent zu getpgid(0). Prozessgruppen werden benutzt zur Verbreitung von Signalen und von Terminals zum Verteilen von Eingabeanforderungen: Prozesses, die die gleiche Prozessgruppe haben wie das Terminal, sind im Vordergrund und dürfen lesen, während andere mit einem Signal blockiert sind, wenn sie versuchen zu lesen. Diese Aufrufe sind werden also benutzt von Programmen wie csh(1), um Prozessgruppen zu erzeugen, um Job-Kontrolle zu realisieren. Die Aufrufe TIOCGPGRP und TIOCSPGRP, die in termios(4) beschrieben sind, werden benutzt, um die Prozessgruppe des kontrollierenden Terminals zu lesen/zu setzen.

RÜCKGABEWERT
Bei Erfolg geben setpgid und setpgrp Null zurück. Im Fehlerfall wird -1 zurückgegeben und errno entsprechend gesetzt. getpgid gibt bei Erfolg eine Prozessgruppe zurück. Im Fehlerfall wird -1 zurückgegeben und errno entsprechend gesetzt. getpgrp gibt immer die aktuelle Prozessgruppe zurück.

FEHLER

EINVAL
    pgid ist kleiner als 0.

EPERM
    Verschiedene Zugriffsrechteprobleme.

ESRCH
    pid entspricht keinem Prozess.

SIEHE AUCH
getuid(2), setsid(2), tcsetpgrp(3), termios(4).