Provided by:
manpages-nl_20051127-4_all
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 pro‐
ces groep naar een andere te verplaatsen (zoals gedaan wordt door som‐
mige 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 TIOC
SPGRP aanroepen beschreven in termios(4) worden gebruikt om de proces
groep van het controlerende terminal {"controling terminal"} te krij‐
gen/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 ver‐
weesd raakt, en als één van de leden van de nieuw-verweezde procesgroep
gestopt wordt, dan zal een SIGHUP signaal gevolgd door een SIGCONT sig‐
naal naar elk proces in de nieuwe-verweezde proces groep gezonden wor‐
den.
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
SVr4, POSIX, 4.4BSD.
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) {termi‐
nal voorgrond zet proces groep}, termios(4) {terminal in/uit sys‐
teem(?)}
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@nl.linux.org>.
$Id: setpgid.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $