.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1983, 1991 Regents of the University of California. .\" and Copyright (C) 2007, Michael Kerrisk .\" All rights reserved. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)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 "30. März 2023" "Linux man\-pages 6.05.01" .SH BEZEICHNUNG setpgid, getpgid, setpgrp, getpgrp \- Prozessgruppe setzen/holen .SH BIBLIOTHEK Standard\-C\-Bibliothek (\fIlibc\fP, \fI\-lc\fP) .SH ÜBERSICHT .nf \fB#include \fP .PP \fBint setpgid(pid_t \fP\fIpid\fP\fB, pid_t \fP\fIpgid\fP\fB);\fP \fBpid_t getpgid(pid_t \fP\fIpid\fP\fB);\fP .PP \fBpid_t getpgrp(void);\fP /* POSIX.1\-Version */ \fB[[veraltet]] pid_t getpgrp(pid_t \fP\fIpid\fP\fB);\fP /* BSD\-Version */ .PP \fBint setpgrp(void);\fP /* System\-V\-Version */ \fB[[veraltet]] int setpgrp(pid_t \fP\fIpid\fP\fB, pid_t \fP\fIpgid\fP\fB);\fP /* BSD\-Version */ .fi .PP .RS -4 Mit Glibc erforderliche Feature\-Test\-Makros (siehe \fBfeature_test_macros\fP(7)): .RE .PP \fBgetpgid\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* Seit Glibc 2.12: */ _POSIX_C_SOURCE >= 200809L .fi .PP \fBsetpgrp\fP() (POSIX.1): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc <= 2.19: */ _SVID_SOURCE .fi .PP \fBsetpgrp\fP() (BSD), \fBgetpgrp\fP() (BSD): .nf [Diese sind nur in Glibc vor 2.19 verfügbar] _BSD_SOURCE && ! (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE || _GNU_SOURCE || _SVID_SOURCE) .fi .SH BESCHREIBUNG Alle diese Schnittstellen sind unter Linux verfügbar. Sie werden für das Ermitteln und Setzen der Prozessgruppenkennung (PGID) eines Prozesses verwendet. Die bevorzugten, in POSIX.1 spezifizierten Arten dies zu erledigen sind: \fBgetpgrp\fP(void) zum Ermitteln der PGID des aufrufenden Prozesses und \fBsetpgid\fP() für das Setzen der PGID eines Prozesses. .PP \fBsetpgid\fP() setzt die PGID des Prozesses \fIpid\fP auf \fIpgid\fP. Falls die \fIpid\fP gleich Null ist, wird die Prozesskennung des aufrufenden Prozesses verwendet. Falls die \fIpgid\fP gleich Null ist, wird PGID des Prozesses \fIpid\fP auf seine Prozesskennung gesetzt. Wenn \fBsetpgid\fP() verwendet wird, um einen Prozess von einer Prozessgruppe in eine andere zu verschieben (wie das manche Shells tun, wenn sie Pipes erzeugen), müssen beide Prozessgruppen Teil der gleichen Sitzung sein (siehe \fBsetsid\fP(2) und \fBcredentials\fP(7)). In diesem Fall gibt die \fIpgid\fP einer bestehende Prozessgruppe an, deren Mitgliedschaft erworben werden soll, und die Sitzungskennung dieser Gruppe muss mit der Sitzungskennung des wechselnden Prozesses übereinstimmen. .PP Die POSIX.1\-Version von \fBgetpgrp\fP() erwartet kein Argument und liefert die PGID des aufrufenden Prozesses zurück. .PP \fBgetpgid\fP() gibt die PGID des Prozesses \fIpid\fP zurück. Falls \fIpid\fP gleich Null ist, wird die Prozesskennung des aufrufenden Prozesses verwendet. (Die Ermittlung einer PGID eines anderen Prozesses als des aufrufenden ist selten erforderlich. Für diese Aufgabe wird die POSIX.1\-Version von \fBgetpgrp\fP() bevorzugt.) .PP Das System\-V\-artige \fBsetpgrp\fP() erwartet kein Argument und ist äquivalent zu \fIsetpgid(0,\ 0)\fP. .PP Der BSD\-spezifische \fBsetpgrp\fP()\-Aufruf erwartet die Argumente \fIpid\fP und \fIpgid\fP und ruft Folgendes auf: .PP .in +4n .EX setpgid(pid, pgid) .EE .in .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. Seit Glibc 2.19 wird die BSD\-spezifische Funktion \fBsetpgrp\fP() nicht mehr in \fI\fP verwendet. Aufrufe sollten durch den \fBsetpgid\fP()\-Aufruf ersetzt werden, wie oben gezeigt. .PP Der BSD\-spezifische \fBgetpgrp\fP()\-Aufruf erwartet ein einzelnes Argument \fIpid\fP und ruft Folgendes auf: .PP .in +4n .EX getpgid(pid) .EE .in .PP Seit Glibc 2.19 wird die BSD\-spezifische Funktion \fBgetpgrp\fP() nicht mehr in \fI\fP verwendet. Aufrufe sollten durch das POSIX\-konforme \fBgetpgrp\fP() ersetzt werden, welches keine Argumente akzeptiert (falls beabsichtigt ist, die PGID des Aufrufenden zu ermitteln), oder mit dem \fBgetpgid\fP()\-Aufruf, wie oben gezeigt. .SH RÜCKGABEWERT Bei Erfolg geben \fBsetpgid\fP() und \fBsetpgrp\fP() Null zurück. Bei einem Fehler wird \-1 zurückgegeben und \fIerrno\fP gesetzt, um den Fehler anzuzeigen. .PP Der POSIX.1\-\fBgetpgrp\fP() gibt immer die PGID des Aufrufenden zurück. .PP \fBgetpgid\fP() und das BSD\-spezifische \fBgetpgrp\fP() geben bei Erfolg immer eine Prozessgruppe zurück. Bei einem Fehler wird \-1 zurückgegeben und \fIerrno\fP gesetzt, um den Fehler anzuzeigen. .SH FEHLER .TP \fBEACCES\fP Es wurde versucht, die Prozessgruppenkennung eines der Kinder des aufrufenden Prozesses zu ändern und das Kind hat bereits ein \fBexecve\fP(2) durchgeführt (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBEINVAL\fP \fIpgid\fP ist kleiner als 0 (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBEPERM\fP Es wurde versucht, einen Prozess in eine Prozessgruppe in einer anderen Sitzung zu verschieben oder die Prozessgruppenkennung eines der Kinder des aufrufenden Prozesses zu ändern und das Kind war in einer anderen Sitzung oder die Prozessgruppenkennung eines »session leaders« zu ändern (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBEPERM\fP Die Ziel\-Prozessgruppe existiert nicht. (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBESRCH\fP Für \fBgetpgid\fP(): \fIpid\fP passt auf keinen Prozess. Für \fBsetpgid\fP(): \fIpid\fP ist nicht der aufrufende Prozess und kein Kind des aufrufenden Prozesses. .SH STANDARDS .TP \fBgetpgid\fP() .TQ \fBsetpgid\fP() .TQ \fBgetpgrp\fP() (keine Argumente) .TQ \fBsetpgrp\fP() (keine Argumente) POSIX.1\-2008 (aber siehe GESCHICHTE). .TP \fBsetpgrp\fP() (2 Argumente) .TQ \fBgetpgrp\fP() (1 Argument) Keine. .SH GESCHICHTE .TP \fBgetpgid\fP() .TQ \fBsetpgid\fP() .TQ \fBgetpgrp\fP() (keine Argumente) POSIX.1\-2001. .TP \fBsetpgrp\fP() (keine Argumente) POSIX.1\-2001. POSIX.1\-2008 markiert es als obsolet. .TP \fBsetpgrp\fP() (2 Argumente) .TQ \fBgetpgrp\fP() (1 Argument) 4.2BSD. .SH ANMERKUNGEN Ein mittels \fBfork\fP(2) erstelltes Kind erbt die Prozessgruppenkennung des Elternprozesses. Die PGID wird über ein \fBexecve\fP(2) hinweg erhalten. .PP Jede Prozessgruppe ist Teilnehmer einer Sitzung und jeder Prozess ist Teilnehmer der Sitzung, an der seine Prozessgruppe teilnimmt. (Siehe \fBcredentials\fP(7).) .PP Einer Sitzung kann ein steuerndes Terminal zugeordnet sein. Zu jeder Zeit kann eine (und nur eine) der Prozessgruppen die Vordergrund\-Prozessgruppe für das Terminal sein; die verbleibenden Prozessgruppen sind im Hintergrund. Falls vom Terminal ein Signal erzeugt wird (z. B. die Betätigung der Unterbrechungstaste, um ein \fBSIGINT\fP zu bewirken), wird dieses Signal an die Vordergrund\-Prozessgruppe gesendet. (Siehe \fBtermios\fP(3) für eine Beschreibung der Zeichen, die Signale erzeugen.) Nur die Vordergrund\-Prozessgruppe kann vom Terminal lesen (mittels \fBread\fP(2)); wenn das eine Hintergrund\-Prozessgruppe versucht, wird an sie ein \fBSIGTSTP\fP\-Signal gesendet, das sie »in den Zwangsurlaub schickt«. Die Funktionen \fBtcgetpgrp\fP(3) und \fBtcsetpgrp\fP(3) werden verwendet, um die Vordergrund\-Prozessgruppe des steuernden Terminals zu ermitteln oder zu setzen. .PP Die Systemaufrufe \fBsetpgid\fP() und \fBgetpgrp\fP() werden von Programmen wie der \fBbash\fP(1) zur Erzeugung von Prozessgruppen verwendet, um die Shell\-Jobs zu steuern. .PP .\" exit.3 refers to the following text: Falls die Beendigung eines Prozesses eine Prozessgruppe verwaisen lässt und wenn jedes Mitglied der neu verwaisten Prozessgruppe gestoppt wird, wird ein \fBSIGHUP\fP\-Signal gefolgt von einem \fBSIGCONT\fP\-Signal an jeden Prozess in der neu verwaisten Prozessgruppe gesendet werden. Eine verwaiste Prozessgruppe ist eine, in denen der Elternprozess eines jeden Mitglieds der Prozessgruppe entweder selbst auch Mitglied der Prozessgruppe oder Mitglied einer Prozessgruppe in einer anderen Sitzung sind (siehe auch \fBcredentials\fP(7)). .SH "SIEHE AUCH" \fBgetuid\fP(2), \fBsetsid\fP(2), \fBtcgetpgrp\fP(3), \fBtcsetpgrp\fP(3), \fBtermios\fP(3), \fBcredentials\fP(7) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother , Helge Kreutzmann , Martin Eberhard Schauer und Mario Blättermann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .