Provided by: manpages-ro_4.27.0-1_all bug

NUME

       /proc/pid/fd/ - descriptori de fișiere

DESCRIERE

       /proc/pid/fd/
              Acesta  este  un  subdirector care conține o intrare pentru fiecare fișier pe care procesul îl are
              deschis, numit prin descriptorul său de fișier, și care este o legătură simbolică  către  fișierul
              real.  Astfel,  0  este intrarea standard, 1 ieșirea standard, 2 ieșirea de eroare standard și așa
              mai departe.

              Pentru descriptorii de fișiere pentru conducte și socluri, intrările vor fi legături simbolice  al
              căror  conținut este tipul de fișier cu nodul-i. Un apel readlink(2) pe acest fișier returnează un
              șir de caractere în formatul:

                  type:[nod-i]

              De exemplu, socket:[2248868] va fi un soclu, iar nodul-i al  său  este  2248868.  Pentru  socluri,
              acest  nod-i  poate fi utilizat pentru a găsi mai multe informații în unul dintre fișierele de sub
              /proc/net/.

              Pentru descriptorii de fișier care nu au un nod-i corespondent (de exemplu, descriptorii de fișier
              produși de bpf(2), epoll_create(2), eventfd(2), inotify_init(2), perf_event_open(2),  signalfd(2),
              timerfd_create(2) și userfaultfd(2)), intrarea va fi o legătură simbolică cu conținutul de forma

                  anon_inode:tip-fișier

              În multe cazuri (dar nu în toate), tip-fișier este încadrat între paranteze drepte.

              De  exemplu,  un  descriptor  de  fișier epoll va avea o legătură simbolică al cărei conținut este
              șirul anon_inode:[eventpoll].

              Într-un proces cu mai multe fire de execuție, conținutul acestui director nu este disponibil  dacă
              firul de execuție principal s-a încheiat deja (de obicei prin apelarea pthread_exit(3)).

              Programele care primesc un nume de fișier ca argument al liniei de comandă, dar nu primesc intrare
              de  la  intrarea  standard dacă nu este furnizat niciun argument, și programele care scriu într-un
              fișier numit ca argument al liniei de comandă, dar nu își trimit ieșirea la ieșirea standard  dacă
              nu  este furnizat niciun argument, pot fi totuși făcute să utilizeze intrarea standard sau ieșirea
              standard prin utilizarea fișierelor /proc/pid/fd ca argumente ale liniei de comandă.  De  exemplu,
              presupunând  că  -i  este  fanionul  care desemnează un fișier de intrare și -o este fanionul care
              desemnează un fișier de ieșire:

                  $ foobar -i /proc/self/fd/0 -o /proc/self/fd/1 ...

              și aveți un filtru funcțional.

              /proc/self/fd/N este aproximativ la fel ca /dev/fd/N în unele sisteme UNIX și sisteme de tip UNIX.
              De fapt, majoritatea scripturilor Linux MAKEDEV leagă simbolic /dev/fd de /proc/self/fd.

              Majoritatea sistemelor oferă legături simbolice /dev/stdin, /dev/stdout și /dev/stderr,  care  fac
              legătura  cu  fișierele  0,  1  și 2 din /proc/self/fd.  Astfel, exemplul de comandă de mai sus ar
              putea fi scris după cum urmează:

                  $ foobar -i /dev/stdin -o /dev/stdout ...

              Permisiunea de a dereferenția sau de a citi (readlink(2)) legăturile simbolice din acest  director
              este  guvernată  de  o  verificare  a modului de acces ptrace PTRACE_MODE_READ_FSCREDS; consultați
              ptrace(2).

              Rețineți că pentru descriptorii de fișiere care se referă la noduri-i (conducte și socluri,  a  se
              vedea  mai  sus),  acele noduri-i au în continuare biți de permisiune și informații de proprietate
              distincte de cele ale intrării /proc/pid/fd și că proprietarul poate fi  diferit  de  ID-urile  de
              utilizator și de grup ale procesului. Un proces neprivilegiat poate să nu aibă permisiunea de a le
              deschide, ca în acest exemplu:

                  $ echo test | sudo -u nobody cat
                  test
                  $ echo test | sudo -u nobody cat /proc/self/fd/0
                  cat: /proc/self/fd/0: Permission denied

              Descriptorul  de fișier 0 se referă la conducta creată de shell și deținută de utilizatorul acelui
              shell, care nu este nobody, deci cat nu are permisiunea de a crea  un  nou  descriptor  de  fișier
              pentru  a  citi  din  acel nod-i, chiar dacă poate citi în continuare din descriptorul de fișier 0
              existent.

CONSULTAȚI ȘI

       proc(5)

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                     proc_pid_fd(5)