Provided by: manpages-ro_4.28.0-2_all 

NUME
pty - interfețe pseudo-terminale
DESCRIERE
Un pseudo-terminal (uneori abreviat „pty” este o pereche de dispozitive de caractere virtuale care oferă
un canal de comunicare bidirecțional. Un capăt al canalului se numește maestru; iar celălalt capăt se
numește sclav.
Capătul sclav al pseudo-terminalului oferă o interfață care se comportă exact ca un terminal clasic. Un
proces care se așteaptă să fie conectat la un terminal poate deschide capătul sclav al unui
pseudo-terminal și apoi poate fi condus de un program care a deschis capătul maestru. Tot ceea ce este
scris la capătul maestru este furnizat procesului de la capătul sclav ca și cum ar fi o intrare tastată
pe un terminal. De exemplu, scrierea caracterului de întrerupere (de obicei, control-C) pe dispozitivul
principal ar determina generarea unui semnal de întrerupere (SIGINT) pentru grupul de procese din
prim-plan conectat la sclav. În schimb, tot ceea ce este scris la capătul sclav al pseudo-terminalului
poate fi citit de procesul conectat la capătul maestru.
Fluxul de date între maestru și sclav este gestionat în mod asincron, la fel ca fluxul de date cu un
terminal fizic. Datele scrise pe sclav vor fi disponibile imediat la maestru, dar este posibil să nu fie
disponibile imediat. În mod similar, este posibil să existe o mică întârziere de procesare între momentul
în care se efectuează o scriere către maestru și momentul în care efectul este vizibil la sclav.
Din punct de vedere istoric, au evoluat două API pseudo-terminale: BSD și System V. SUSv1 a standardizat
un API pseudo-terminal bazat pe API System V, iar acest API ar trebui să fie utilizat în toate programele
noi care utilizează pseudo-terminale.
Linux oferă atât pseudo-terminale de tip BSD, cât și pseudo-terminale de tip System V (standardizate).
Terminalele de tip System V sunt denumite în mod obișnuit pseudo-terminale UNIX 98 pe sistemele Linux.
Începând cu Linux 2.6.4, pseudo-terminalele de tip BSD sunt considerate demodate: suportul poate fi
dezactivat la compilarea nucleului prin dezactivarea opțiunii CONFIG_LEGACY_PTYS; (începând cu Linux
2.6.30, această opțiune este dezactivată în mod implicit în nucleul din linia principală de dezvoltare).
Pseudo-terminalele UNIX 98 ar trebui utilizate în noile aplicații.
Pseudo-terminale UNIX 98
Un master pseudo-terminal UNIX 98 neutilizat este deschis prin apelarea posix_openpt(3); (această funcție
deschide dispozitivul clonă master, /dev/ptmx; a se vedea pts(4)). După efectuarea oricăror inițializări
specifice programului, modificarea proprietății și a permisiunilor dispozitivului sclav folosind
grantpt(3) și deblocarea sclavului folosind unlockpt(3), dispozitivul sclav corespunzător poate fi
deschis prin transmiterea numelui returnat de ptsname(3) într-un apel la open(2).
Nucleul Linux impune o limită a numărului de pseudo-terminale UNIX 98 disponibile. Până la Linux 2.6.3
inclusiv, această limită este configurată în momentul compilării nucleului (CONFIG_UNIX98_PTYS), iar
numărul permis de pseudo-terminale poate fi de până la 2048, cu o valoare implicită de 256. Începând cu
Linux 2.6.4, limita este reglabilă dinamic prin intermediul /proc/sys/kernel/pty/max, iar un fișier
corespunzător, /proc/sys/kernel/pty/nr, indică câte pseudo-terminale sunt utilizate în prezent. Pentru
mai multe detalii despre aceste două fișiere, a se vedea proc(5).
Pseudo-terminale BSD
Pseudo-terminalele de tip BSD sunt furnizate sub formă de perechi precreate, cu nume de forma /dev/ptyXY
(master) și /dev/ttyXY (slave), unde X este o literă din setul de 16 caractere [p-za-e], iar Y este o
literă din setul de 16 caractere [0-9a-f]; (gama exactă de litere din aceste două seturi variază în
funcție de implementările UNIX). De exemplu, /dev/ptyp1 și /dev/ttyp1 constituie o pereche de
pseudo-terminale BSD. Un proces găsește o pereche de pseudo-terminale neutilizate încercând să open(2)
fiecare pseudo-terminal master până când o deschidere reușește. Sclavul pseudo-terminal corespunzător (
înlocuiește „tty” cu „pty” în numele maestrului) poate fi apoi deschis.
FIȘIERE
/dev/ptmx
dispozitiv clonă maestru UNIX 98
/dev/pts/*
dispozitive sclave UNIX 98
/dev/pty[p-za-e][0-9a-f]
dispozitive master BSD
/dev/tty[p-za-e][0-9a-f]
dispozitive sclave BSD
NOTE
Pseudo-terminalele sunt utilizate de aplicații cum ar fi serviciile de conectare la rețea (ssh(1),
rlogin(1), telnet(1)), emulatoare de terminale cum ar fi xterm(1), script(1), screen(1), tmux(1),
unbuffer(1) și expect(1).
O descriere a TIOCPKT ioctl(2), care controlează funcționarea în modul pachet, poate fi găsită în
ioctl_tty(2).
Operațiile BSD ioctl(2) TIOCSTOP, TIOCSTART, TIOCUCNTL și TIOCREMOTE nu au fost implementate în Linux.
CONSULTAȚI ȘI
ioctl_tty(2), select(2), setsid(2), forkpty(3), openpty(3), termios(3), pts(4), tty(4)
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 pty(7)