.\" -*- 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 "2 mai 2024" "Pagini de manual de Linux 6.8" .SH NUME setpgid, getpgid, setpgrp, getpgrp \- stabilește/obține grupul de procese .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \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 .P \fBpid_t getpgrp(void);\fP /* versiunea POSIX.1 */ \fB[[depreciat]] pid_t getpgrp(pid_t \fP\fIpid\fP\fB);\fP /* versiunea BSD */ .P \fBint setpgrp(void);\fP /* versiunea System V */ \fB[[depreciat]] int setpgrp(pid_t \fP\fIpid\fP\fB, pid_t \fP\fIpgid\fP\fB);\fP /* versiunea BSD */ .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBgetpgid\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* Începând cu glibc 2.12: */ _POSIX_C_SOURCE >= 200809L .fi .P \fBsetpgrp\fP() (POSIX.1): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* Începând cu glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE .fi .P \fBsetpgrp\fP() (BSD), \fBgetpgrp\fP() (BSD): .nf [Acestea sunt disponibile doar înainte de glibc 2.19] _BSD_SOURCE && ! (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE || _GNU_SOURCE || _SVID_SOURCE) .fi .SH DESCRIERE Toate aceste interfețe sunt disponibile pe Linux și sunt utilizate pentru a obține și stabili ID\-ul grupului de procese (PGID) al unui proces. Modalitățile preferate, specificate în POSIX.1, de a face acest lucru sunt: \fBgetpgrp\fP(void), pentru a obține PGID\-ul procesului apelant; și \fBsetpgid\fP(), pentru a stabili PGID\-ul unui proces. .P \fBsetpgid\fP() stabilește PGID\-ul procesului specificat de \fIpid\fP la \fIpgid\fP. Dacă \fIpid\fP este zero, atunci se utilizează ID\-ul de proces al procesului apelant. Dacă \fIpgid\fP este zero, atunci PGID\-ul procesului specificat de \fIpid\fP devine identic cu ID\-ul său de proces. În cazul în care \fBsetpgid\fP() este utilizat pentru a muta un proces dintr\-un grup de procese în altul (așa cum fac unele shell\-uri la crearea de conducte), ambele grupuri de procese trebuie să facă parte din aceeași sesiune (a se vedea \fBsetsid\fP(2) și \fBcredentials\fP(7)). În acest caz, \fIpgid\fP specifică un grup de procese existent la care urmează să se alăture, iar ID\-ul de sesiune al acelui grup trebuie să corespundă cu ID\-ul de sesiune al procesului care se alătură. .P Versiunea POSIX.1 a \fBgetpgrp\fP(), care nu primește argumente, returnează PGID\-ul procesului apelant. .P \fBgetpgid\fP() returnează PGID\-ul procesului specificat de \fIpid\fP. În cazul în care \fIpid\fP este zero, se utilizează ID\-ul de proces al procesului apelant; (recuperarea PGID\-ului unui proces, altul decât cel care face apelul, este rareori necesară, iar POSIX.1 \fBgetpgrp\fP() este preferat pentru această sarcină). .P \fBsetpgrp\fP() în stil System\ V, care nu primește argumente, este echivalent cu \fIsetpgid(0,\ 0)\fP. .P Apelul specific BSD \fBsetpgrp\fP(), care primește argumentele \fIpid\fP și \fIpgid\fP, este o funcție de învăluire care apelează .P .in +4n .EX setpgid(pid, pgid) .EE .in .P .\" 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. Începând cu glibc 2.19, funcția \fBsetpgrp\fP() specifică BSD nu mai este expusă de \fI\fP; apelurile trebuie înlocuite cu apelul \fBsetpgid\fP() prezentat mai sus. .P Apelul specific BSD \fBgetpgrp\fP(), care primește un singur argument \fIpid\fP, este o funcție de învăluire care apelează .P .in +4n .EX getpgid(pid) .EE .in .P Începând cu glibc 2.19, funcția specifică BSD \fBgetpgrp\fP() nu mai este expusă de \fI\fP; apelurile ar trebui înlocuite cu apeluri la POSIX.1 \fBgetpgrp\fP() care nu primește argumente (dacă intenția este de a obține PGID\-ul apelantului), sau cu apelul \fBgetpgid\fP() prezentat mai sus. .SH "VALOAREA RETURNATĂ" În caz de succes, \fBsetpgid\fP() și \fBsetpgrp\fP() returnează zero. În caz de eroare, se returnează \-1, și \fIerrno\fP este configurată pentru a indica eroarea. .P POSIX.1 \fBgetpgrp\fP() returnează întotdeauna PGID\-ul apelantului. .P \fBgetpgid\fP() și \fBgetpgrp\fP(), specific BSD, returnează un grup de procese în caz de succes. În caz de eroare, se returnează \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEACCES\fP S\-a încercat modificarea ID\-ului grupului de procese al unuia dintre procesele\-copil ale procesului apelant, iar procesul\-copil a efectuat deja un \fBexecve\fP(2) (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBEINVAL\fP \fIpgid\fP este mai mic decât 0 (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBEPERM\fP S\-a încercat mutarea unui proces într\-un grup de procese dintr\-o sesiune diferită sau modificarea ID\-ului grupului de procese al unuia dintre procesele\-copil ale procesului apelant, iar procesul\-copil se afla într\-o sesiune diferită, sau modificarea ID\-ului grupului de procese al unui lider de sesiune (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBEPERM\fP Grupul de procese țintă nu există. (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBESRCH\fP Pentru \fBgetpgid\fP(): \fIpid\fP nu se potrivește cu niciun proces. Pentru \fBsetpgid\fP(): \fIpid\fP nu este procesul apelant și nu este un copil al procesului apelant. .SH STANDARDE .TP \fBgetpgid\fP() .TQ \fBsetpgid\fP() .TQ \fBgetpgrp\fP() (fără argumente) .TQ \fBsetpgrp\fP() (ără argumente) POSIX.1\-2008 (dar vedeți secțiunea ISTORIC). .TP \fBsetpgrp\fP() (2 argumente) .TQ \fBgetpgrp\fP() (1 argument) Niciunul. .SH ISTORIC .TP \fBgetpgid\fP() .TQ \fBsetpgid\fP() .TQ \fBgetpgrp\fP() (fără argumente) POSIX.1\-2001. .TP \fBsetpgrp\fP() (ără argumente) POSIX.1\-2001. POSIX.1\-2008 îl marchează ca obsolet. .TP \fBsetpgrp\fP() (2 argumente) .TQ \fBgetpgrp\fP() (1 argument) 4.2BSD. .SH NOTE Un proces\-copil creat prin \fBfork\fP(2) moștenește ID\-ul grupului de procese al părintelui său. PGID\-ul este păstrat în cazul unui \fBexecve\fP(2). .P Fiecare grup de procese este membru al unei sesiuni, iar fiecare proces este membru al sesiunii din care face parte grupul său de procese; (a se vedea \fBcredentials\fP(7)). .P O sesiune poate avea un terminal de control. În orice moment, unul (și numai unul) dintre grupurile de procese din sesiune poate fi grupul de procese de prim\-plan pentru terminal; celelalte grupuri de procese sunt în fundal. În cazul în care un semnal este generat de terminal (de exemplu, tastarea tastei de întrerupere pentru a genera \fBSIGINT\fP), semnalul respectiv este trimis către grupul de procese din prim\-plan; (a se vedea \fBtermios\fP(3) pentru o descriere a caracterelor care generează semnale). Numai grupul de procese din prim\-plan poate citi „\fBread\fP(2)” de pe terminal; dacă un grup de procese din fundal încearcă să citească „\fBread\fP(2)” de la terminal, atunci grupului i se trimite un semnal \fBSIGTTIN\fP, care îl suspendă. Funcțiile \fBtcgetpgrp\fP(3) și \fBtcsetpgrp\fP(3) sunt utilizate pentru a obține/stabili grupul de procese în prim\-plan al terminalului de control. .P Apelurile \fBsetpgid\fP() și \fBgetpgrp\fP() sunt utilizate de programe cum ar fi \fBbash\fP(1) pentru a crea grupuri de procese pentru a implementa controlul lucrărilor de shell. .P .\" exit.3 refers to the following text: În cazul în care terminarea unui proces face ca un grup de procese să devină orfan și dacă orice membru al grupului de procese devenit orfan este oprit, atunci un semnal \fBSIGHUP\fP urmat de un semnal \fBSIGCONT\fP va fi trimis fiecărui proces din grupul de procese devenit orfan. Un grup de procese orfan este un grup în care părintele fiecărui membru al grupului de procese este fie el însuși membru al grupului de procese, fie este membru al unui grup de procese într\-o sesiune diferită (a se vedea, de asemenea, \fBcredentials\fP(7)). .SH "CONSULTAȚI ȘI" \fBgetuid\fP(2), \fBsetsid\fP(2), \fBtcgetpgrp\fP(3), \fBtcsetpgrp\fP(3), \fBtermios\fP(3), \fBcredentials\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .