Fluxuri standard

Fluxurile standard de intrare-ieșire în sisteme precum UNIX (și unele altele) sunt fire de procesare care au un număr (mâner) rezervat pentru a îndeplini unele funcții „standard”. De obicei (deși nu neapărat), aceste mânere sunt deja deschise în momentul pornirii sarcinii ( executabilul ).

Intrare standard

Fluxul numărul 0 (stdin) este rezervat pentru citirea comenzilor sau introducerea utilizatorului .

Când rulează programul în mod interactiv, în mod implicit, acesta este țintit să citească de pe un dispozitiv de interfață cu utilizatorul text ( tastatură ). Shell-ul UNIX (și shell-urile altor sisteme) vă permite să schimbați ținta acestui flux folosind caracterul " <". Programele de sistem ( demonii , etc.) în general nu folosesc acest fir.

Ieșire standard

Fluxul numărul 1 (stdout) este rezervat pentru ieșire, de obicei (deși nu neapărat) text .

Când rulați programul în mod interactiv, în mod implicit, acesta are ca scop scrierea pe dispozitivul de afișare ( monitor ). Shell-ul UNIX (și shell-urile altor sisteme) vă permite să redirecționați acest flux folosind caracterul " >". Instrumentele pentru rularea programelor în fundal (cum ar fi nohup ) redirecționează de obicei acest flux către un .

Ieșire eroare standard

Fluxul numărul 2 (stderr) este rezervat pentru afișarea mesajelor de diagnosticare și depanare sub formă de text.

Cel mai adesea, scopul acestui flux este același cu cel stdout, cu toate acestea, spre deosebire de acesta, scopul fluxului stderr nu se schimbă atunci când „ >” și creează conducte (“ |”). Adică, mesajele de depanare ale procesului a cărui ieșire este redirecționată vor ajunge în continuare la utilizator. Shell-ul UNIX vă permite să schimbați ținta acestui flux utilizând 2>construcția " ". De exemplu, pentru a suprima ieșirea acestui flux, nu este neobișnuit să scrieți „2> /dev/null ”.

Funcția de gestionare a erorilor POSIX perror este utilizată în limbajele de programare C și C++ pentru a imprima un mesaj de eroare la stderr pe baza ultimului număr de eroare stocat în errno .

Altele

În DOS , s-ar putea folosi și numerele 4 (stdprn) și 5 (stdaux) [1] .

Vezi și

Note

  1. Ray Duncan. Programare avansată MS-DOS. — ediția a II-a. - Microsoft Press, 1988. - P. 309. - ISBN 1-55615-157-8 .

Informații suplimentare