.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)popen.3 6.4 (Berkeley) 4/30/91 .\" .\" Converted for Linux, Mon Nov 29 14:45:38 1993, faith@cs.unc.edu .\" Modified Sat May 18 20:37:44 1996 by Martin Schulze (joey@linux.de) .\" Modified 7 May 1998 by Joseph S. Myers (jsm28@cam.ac.uk) .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH popen 3 "20 iulie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME popen, pclose \- flux de conductă către sau de la un proces .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP .PP \fBFILE *popen(const char *\fP\fIcommand\fP\fB, const char *\fP\fItype\fP\fB);\fP \fBint pclose(FILE *\fP\fIstream\fP\fB);\fP .fi .PP .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .PP \fBpopen\fP(), \fBpclose\fP(): .nf _POSIX_C_SOURCE >= 2 || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE .fi .SH DESCRIERE Funcția \fBpopen\fP() deschide un proces prin crearea unei conducte, prin bifurcare și prin invocarea shell\-ului. Deoarece o conductă este, prin definiție, unidirecțională, argumentul \fItype\fP poate specifica numai citire sau scriere, nu ambele; fluxul rezultat este, în consecință, numai\-pentru\-citire sau numai\-pentru\-scriere. .PP Argumentul \fIcommand\fP este un indicator la un șir de caractere cu terminație nulă care conține o linie de comandă de tip shell. Această comandă este transmisă către \fI/bin/sh\fP folosind opțiunea \fB\-c\fP; interpretarea, dacă este cazul, este efectuată de către shell. .PP Argumentul \fItype\fP este un indicator către un șir de caractere cu terminație nulă care trebuie să conțină fie litera „r” pentru citire, fie litera „w” pentru scriere. Începând cu glibc 2.9, acest argument poate include, de asemenea, litera „e”, care determină activarea fanionului „close\-on\-exec” (\fBFD_CLOEXEC\fP) pe descriptorul de fișier subiacent; a se vedea descrierea fanionului \fBO_CLOEXEC\fP în \fBopen\fP(2) pentru motivele pentru care acest lucru poate fi util. .PP Valoarea returnată de \fBpopen\fP() este un flux de intrare/ieșire standard normal în toate privințele, cu excepția faptului că trebuie închis cu \fBpclose\fP() în loc de \fBfclose\fP(3). Scrierea pe un astfel de flux se scrie în intrarea standard a comenzii; ieșirea standard a comenzii este aceeași cu cea a procesului care a apelat \fBpopen\fP(), cu excepția cazului în care aceasta este modificată de comanda însăși. În schimb, citirea de pe flux citește ieșirea standard a comenzii, iar intrarea standard a comenzii este aceeași cu cea a procesului care a apelat \fBpopen\fP(). .PP Rețineți că fluxurile de ieșire \fBpopen\fP() sunt stocate în bloc în mod implicit. .PP Funcția \fBpclose\fP() așteaptă ca procesul asociat să se încheie și returnează starea de ieșire a comenzii, așa cum este returnată de \fBwait4\fP(2). .SH "VALOAREA RETURNATĂ" \fBpopen\fP(): în caz de succes, returnează un indicator către un flux deschis care poate fi utilizat pentru a citi sau a scrie în conductă; dacă apelurile \fBfork\fP(2) sau \fBpipe\fP(2) eșuează sau dacă funcția nu poate aloca memorie, se returnează NULL. .PP .\" These conditions actually give undefined results, so I commented .\" them out. .\" .I stream .\" is not associated with a "popen()ed" command, if .\".I stream .\" already "pclose()d", or if \fBpclose\fP(): în caz de succes, returnează starea de ieșire a comenzii; dacă \fBwait4\fP(2) returnează o eroare sau dacă este detectată o altă eroare, se returnează \-1. .PP În caz de eșec, ambele funcții configurează \fIerrno\fP pentru a indica eroarea. .SH ERORI\-IEȘIRE Funcția \fBpopen\fP() nu configurează \fIerrno\fP dacă alocarea memoriei eșuează. În cazul în care funcția \fBfork\fP(2) sau \fBpipe\fP(2) subiacentă eșuează, \fIerrno\fP este configurată pentru a indica eroarea. În cazul în care argumentul \fItype\fP nu este valid, iar această condiție este detectată, \fIerrno\fP este stabilită la \fBEINVAL\fP. .PP Dacă \fBpclose\fP() nu poate obține starea copilului, \fIerrno\fP este stabilită la \fBECHILD\fP. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBpopen\fP(), \fBpclose\fP() T} Siguranța firelor MT\-Safe .TE .sp 1 .SH VERSIUNI Valoarea „e” pentru \fItype\fP este o extensie Linux. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001. .SH AVERTISMENTE Citiți cu atenție Avertismentele din \fBsystem\fP(3). .SH ERORI Deoarece intrarea standard a unei comenzi deschise pentru citire își împarte poziția de căutare cu procesul care a apelat \fBpopen\fP(), în cazul în care procesul original a efectuat o citire în memoria tampon, este posibil ca poziția de intrare a comenzii să nu fie cea așteptată. În mod similar, ieșirea unei comenzi deschise pentru scriere se poate amesteca cu cea a procesului original. Aceasta din urmă poate fi evitată prin apelarea \fBfflush\fP(3) înainte de \fBpopen\fP(). .PP .\" .SH HISTORY .\" A .\" .BR popen () .\" and a .\" .BR pclose () .\" function appeared in Version 7 AT&T UNIX. Eșecul executării shell\-ului nu se deosebește de eșecul executării comenzii shell\-ului sau de ieșirea imediată a comenzii. Singurul indiciu este o stare de ieșire de 127. .SH "CONSULTAȚI ȘI" \fBsh\fP(1), \fBfork\fP(2), \fBpipe\fP(2), \fBwait4\fP(2), \fBfclose\fP(3), \fBfflush\fP(3), \fBfopen\fP(3), \fBstdio\fP(3), \fBsystem\fP(3) .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 .