Manpages

NAAM

setpgid, getpgid, setpgrp, getpgrp − zet/krijg proces groep

OVERZICHT

#include <unistd.h>

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

BESCHRIJVING

setpgid zet het proces groep ID van het proces opgegeven in pid naar pgid. Als pid nul is wordt het proces ID van het huidige proces gebruikt. Als pgid nul is wordt het proces ID van het proces opgegeven in pid gebruikt. Als setpgid gebruikt wordt om een proces van een proces groep naar een andere te verplaatsen (zoals gedaan wordt door sommige schillen {"shells"} bij het maken van pijplijnen), dan moeten beide proces groepen onderdeel van dezelfde sessie zijn. In dit geval bepaald de pgid een bestaande proces groep waar bij aangesloten zal worden en het sessie ID van die groep moet overeenkomen met de sessie ID van de aansluitende groep.

getpgid geeft het proces groep ID van het proces opgegeven in pid. Als pid nul is dan wordt het proces ID van het huidige proces gebruikt.

In de Linux DLL 4.4.1 bibliotheek roept setpgrp eenvoudig setpgid(0,0) aan.

getpgrp doet hetzelfde ten opzichte van getpgid(0). Elke proces groep is lid van een sessie, en elk proces is lid van de sessie waarvan zijn proces groep lid is.

Proces groepen worden gebruikt voor het bezorgen van signalen, en door terminals {"terminals"} om verzoeken voor hun opname {"input"} te beslechten: processen die dezelfde procesgroep hebben als het terminal zijn op de voorgrond en mogen lezen, terwijl anderen zullen blokkeren met een signaal als zij proberen te lezen. Deze aanroepen worden dus gebruikt door programma’s zoals csh(1) om proces groepen te maken bij het verwezijnlijken van taak {"job"} besturing. De TIOCGPGRP en TIOCSPGRP aanroepen beschreven in termios(4) worden gebruikt om de proces groep van het controlerende terminal {"controling terminal"} te krijgen/zetten.

Als een sessie een controlerend terminal heeft, CLOCAL ongezet is, en er treed een ’hangop’ op, dan wordt een SIGHUP naar de sessie leider gezonden. Als de sessie leider eindigt wordt de SIGHUP naar elk proces gezonden in de voorgrond proces groep van het controlerende terminal.

Als het eindigen van het proces veroorzaakt dat een procesgroep verweesd raakt, en als één van de leden van de nieuw-verweezde procesgroep gestopt wordt, dan zal een SIGHUP signaal gevolgd door een SIGCONT signaal naar elk proces in de nieuwe-verweezde proces groep gezonden worden.

TERUGGEEF WAARDE

Bij success wordt door setpgid en setpgrp nul teruggegeven. Bij falen wordt −1 teruggegeven, en wordt errno naar behoren gezet.

getpgid geeft een proces groep bij slagen. Bij falen wordt −1 teruggegeven en wordt errno naar behoren gezet.

getpgrp geeft altijd de huidige proces groep.

FOUTEN

EINVAL

{ongeldig} pgid is minder dan 0.

EPERM

{toestemming} Verschillende toestemming schendingen.

ESRCH

{zoek} pid kwam niet overeen met enig proces

VOLDOET AAN

SVr4, POSIX, 4.4BSD.

VOLDOET AAN

De functies setpgid en getpgrp voldoen aan POSIX.1. De functie setpgrp is van BSD 4.2 De functie getpgid voldoet aan SVr4.

ZIE

getuid(2) {krijg uid}, setsid(2) {zet sessie id}, tcsetpgrp(3) {terminal voorgrond zet proces groep}, termios(4) {terminal in/uit systeem(?)}

VERTALING

Dit is een handleiding uit manpages-dev 1.29. Alles wat tussen ’{’..’}’ staat is aanvullende vertaling, en hoort niet bij de originele handleiding. Email naar <manpages-nl [AT] nl.org>.

$Id: setpgid.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $