.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1983, 1991 Regents of the University of California. .\" and Copyright (C) 2007, Michael Kerrisk .\" All rights reserved. .\" .\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" %%%LICENSE_END .\" .\" @(#)getpgrp.2 6.4 (Berkeley) 3/10/91 .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1995-04-15 by Michael Chastain : .\" Added 'getpgid'. .\" Modified 1996-07-21 by Andries Brouwer .\" Modified 1996-11-06 by Eric S. Raymond .\" Modified 1999-09-02 by Michael Haardt .\" Modified 2002-01-18 by Michael Kerrisk .\" Modified 2003-01-20 by Andries Brouwer .\" 2007-07-25, mtk, fairly substantial rewrites and rearrangements .\" of text. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SETPGID 2 "15 september 2017" Linux "Linux Programmeurs Handleiding" .SH NAAM setpgid, getpgid, setpgrp, getpgrp \- zet/krijg proces groep .SH SAMENVATTING \fB#include \fP .br \fB#include \fP .PP \fBint setpgid(pid_t \fP\fIpid\fP\fB, pid_t \fP\fIpgid\fP\fB);\fP .br \fBpid_t getpgid(pid_t \fP\fIpid\fP\fB);\fP .PP \fBpid_t getpgrp(void);\fP /* POSIX.1 versie */ .br \fBpid_t getpgrp(pid_t \fP\fIpid\fP\fB);\fP /* BSD versie */ .PP \fBint setpgrp(void);\fP /* System V versie */ .br \fBint setpgrp(pid_t \fP\fIpid\fP\fB, pid_t \fP\fIpgid\fP\fB);\fP /* BSD versies */ .PP .RS -4 Feature Test Macro´s eisen in glibc (zie \fBfeature_test_macros\fP(7)): .RE .PP .ad l \fBgetpgid\fP(): .RS 4 .\" || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE\ >=\ 500 || /* Sinds glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L .RE .PP \fBsetpgrp\fP() (POSIX.1): .nf .\" || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE\ >=\ 500 || /* Sinds glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc versies <= 2.19: */ _SVID_SOURCE .fi .PP \fBsetpgrp\fP()\ (BSD), \fBgetpgrp\fP()\ (BSD): .nf [Deze zijn alleen beschikbaar voor glibc 2.19] _BSD_SOURCE && !\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE || _GNU_SOURCE || _SVID_SOURCE) .fi .ad .SH BESCHRIJVING Al deze interfaces zijn beschikbaar op Linux, en worden gebruikt voor het verkrijgen en zetten van de proces groep ID (PGID) van een proces. De voorkeur manieren, POSIX.1\-gespecificeerde, om dit te doen zijn: \fBgetpgrp\fP(void), om het PGID van het huidige proces te verkrijgen en \fBsetpgid\fP(), voor het zetten van het PGID van het proces. .PP \fBsetpgid\fP() zet het PGID van het proces opgegeven in \fIpid\fP naar \fIpgid\fP. Als \fIpid\fP nul is wordt het proces ID van het huidige proces gebruikt. Als \fIpgid\fP nul is wordt het proces ID van het proces opgegeven in \fIpid\fP gebruikt. Als \fBsetpgid\fP gebruikt wordt om een proces van een proces groep naar een andere te verplaatsen (zoals gedaan wordt door sommige shells bij het maken van pijpen), dan moeten beide proces groepen onderdeel van dezelfde sessie zijn (zie \fBsetsid\fP(2) en \fBcredentials\fP(7)). In dit geval bepaald de \fIpgid\fP een bestaande proces groep waarbij aangesloten zal worden en het sessie ID van die groep moet overeenkomen met de sessie ID van de aansluitende groep. .PP De POSIX.1 versie van \fBgetpgrp\fP(), die geen argument nodig heeft, retourneert de PGID van het aanroepende proces. .PP \fBgetpgid\fP() retourneert het PGID van het proces opgegeven in \fIpid\fP. Als \fIpid\fP nul is dan wordt het proces ID van het huidige proces gebruikt. (Opvragen van PGID van een proces anders dan van de aanroeper is zelden nodig, en POSIX.1 \fBgetpgrp\fP() wordt geprefereerd voor deze taak.) .PP De System\ V\-stijl \fBsetpgrp\fP(), die geen argument nodig heeft, is equivalent aan \fIsetpgid(0,\ 0)\fP. .PP De BSD\-specifieke \fBsetpgrp\fP() aanroep, die de argumenten \fIpid\fP en \fIpgid\fP nodig heeft, is een omwikkel functie die .PP setpgid(pid, pgid) aanroept. .PP .\" The true BSD setpgrp() system call differs in allowing the PGID .\" to be set to arbitrary values, rather than being restricted to .\" PGIDs in the same session. Vanaf glibc 2.19, wordt de BSD\-specifieke \fBsetpgrp\fP() functie niet langer blootgegeven door \fI\fP; aanroepen dienen te worden vervangen met de \fBsetpgid\fP() aanroep zoals hierboven getoond. .PP De BSD\-specifieke \fBsetpgrp\fP() aanroep, die de argumenten \fIpid\fP en \fIpgid\fP nodig heeft, is een omwikkel functie die .PP getpgid(pid) aanroept. .PP Vanaf glibc 2.19, wordt de BSD\-specifieke \fBsetpgrp\fP() functie niet langer blootgegeven door \fI\fP; aanroepen dienen te worden vervangen met de \fBsetpgid\fP() aanroep zoals hierboven getoond. .SH "EIND WAARDE" Bij success wordt door \fBsetpgid\fP() en \fBsetpgrp\fP() nul teruggegeven. Bij falen wordt \-1 teruggegeven, en wordt \fIerrno\fP naar behoren gezet. .PP De POSIX.1 \fBgetpgrp\fP() retourneert altijd het PGID van de aanroeper. .PP \fBgetpgid\fP(), en het BSD\-eigen \fBgetpgrp\fP() geven een proces groep bij slagen. Bij falen wordt \-1 teruggegeven en wordt \fIerrno\fP naar behoren gezet. .SH FOUTEN .TP \fBEACCES\fP Een poging werd gedaan om de proces groep ID van een van de kinderen van het huidige proces te veranderen en het kind heeft al een een \fBexecve\fP(2) uitgevoerd (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBEINVAL\fP \fIpgid\fP is minder dan 0 (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBEPERM\fP Een poging werd gedaan om een proces te verplaatsen naar een proces groep in een andere sessie, of om de proces groep ID te veranderen van een van de kinderen van het aanroepende proces en het kind zat in een andere sessie, of om de proces groep ID te veranderen een een sessie leider (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBESRCH\fP Voor \fBgetpgid\fP(): \fIpid\fP kwam niet overeen met enig proces. .SH "VOLDOET AAN" De functies \fBsetpgid\fP() en de versie van \fBgetpgrp\fP() zonder argumenten voldoen aan POSIX.1\-2001. .PP POSIX.1\-2001 specificeert ook \fBgetpgid\fP() en de versie van \fBsetpgrp\fP() die geeft argument neemt. (POSIX.1\-2008 markeert deze \fBsetpgrp\fP() specificatie als verouderd.) .PP De versie van \fBgetpgrp\fP() met een argument en de versie van \fBsetpgrp\fP() met twee argumenten afgeleid van 4.2BSD, zijn niet gespecificeerd door POSIX.1. .SH OPMERKINGEN Een kind gecreëerd met \fBfork\fP(2) erft de PGID van zijn ouder. DE PGID wordt bewaard langs een \fBexecve\fP(2). .PP Elke proces groep is lid van een sessie en elk proces is lid van een sessie waarvan zijn proces groep een lid is. (Zie \fBcredentials\fP(7).) .PP Een proces kan een controlerende terminal hebben. Op elk moment, een (en alleen een) van de proces groepen in een sessie kan de voorgrond proces groep van een terminal zijn; de overblijvende proces groepen zijn in de achtergrond. Als een signaal werd gegenereerd vanaf een terminal (b.v. bedienen van de onderbreking toets om \fBSIGINT\fP() te genereren, dan wordt dit signaal verzonden naar de voorgrond proces groep. (zie \fBtermios\fP(3) voor een beschrijving van de tekens die signalen genereren.) Alleen de voorgrond proces groep mag \fBread\fP(2) van de terminal; als een achtergrond proces groep probeert te \fBread\fP(2) lezen van de terminal, dan wordt aan de groep een \fBSIGTTIN\fP() signaal verstuurd, dat het opschort. De \fBtcgetpgrp\fP(3) en \fBtcsetpgrp\fP(3) functies worden gebruikt om het voorgrond proces van de controlerende terminal te krijgen/zetten. .PP De \fBsetpgid\fP() en \fBgetpgrp\fP() aanroepen worden gebruikt door programma´s als \fBbash\fP(1) om proces groepen aan te maken om op die manier job control te implementeren. .PP .\" exit.3 refers to the following text: Als het beëindigen van een proces veroorzaakt dat een proces groep wordt verweesd, en als enig lid van de nieuw verweesde proces groep wordt gestopt, dan zal een \fBSIGHUP\fP signaal gevolgd door een \fBSIGCONT\fP signaal worden verzonden naar elk proces in de nieuwe verweesde proces groep. Een verweesde proces groep is er een in welke de ouder van elk lid van de proces groep is ofwel zelf ook een lid van de proces groep of is een lid van een proces groep in een andere sessie (zie ook \fBcredentials\fP(7)). .SH "ZIE OOK" \fBgetuid\fP(2), \fBsetsid\fP(2), \fBtcgetpgrp\fP(3), \fBtcsetpgrp\fP(3), \fBtermios\fP(3), \fBcredentials\fP(7) .SH COLOFON Deze pagina is onderdeel van release 5.10 van het Linux \fIman\-pages\fP\-project. Een beschrijving van het project, informatie over het melden van bugs en de nieuwste versie van deze pagina zijn op \%https://www.kernel.org/doc/man\-pages/ te vinden. .PP .SH VERTALING De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema , Mario Blättermann en Luc Castermans . .PP Deze vertaling is vrije documentatie; lees de .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID. .PP Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar .MT debian-l10n-dutch@lists.debian.org .ME .