sourCEntral - mobile manpages

pdf

SETPGID

NAME

setpgid, getpgid, setpgrp, getpgrp − setze/hole Prozessgruppe

Ü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).

pdf