Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Tu je porucha:
* Mechanizmus: Potrubie je v podstate deskriptor súboru, ktorý pôsobí ako vyrovnávacia pamäť. Proces písania zapisuje údaje do tejto vyrovnávacej pamäte a proces čítania z nej číta údaje. Jadro riadi vyrovnávanie a synchronizáciu medzi procesmi.
* Jednotlivé: Dáta tečie iba jedným smerom - od procesu písania (výrobca) po proces čítania (spotrebiteľ).
* Syntax: Potrubia sa vytvárajú pomocou symbolu potrubia `|` v škrupine (napr. Bash, ZSH). Tento symbol oddeľuje príkazy a spája štandardný výstup (stdout) príkazu vľavo k štandardnému vstupu (stdin) príkazu vpravo.
* Príklad:
Príkaz `ls -l | Grep "txt" `demonštruje potrubie.
* `ls -l` uvádza zoznam súborov a adresárov v dlhom formáte. Jeho výstup (zoznam názvov súborov a podrobností) sa odošle do potrubia.
* `Grep" txt "` hľadá riadky obsahujúce "txt". Prijíma svoj vstup z potrubia (výstup `ls -l`). Výstup „Grep„ Txt “` zobrazí súbory iba s rozšírením „.txt“.
* typy: Existujú dva hlavné typy:
* Anonymné potrubia (nemenované potrubia): Vytvorené pomocou operátora `|` v škrupine. Existujú iba počas trvania príkazového potrubia.
* pomenované potrubia (fifos): Vytvorené pomocou príkazu `mkfifo`. Tieto potrubia pretrvávajú aj po ukončení procesu vytvárania, čo umožňuje viacerým procesom komunikovať asynchrónne. Majú názov v systéme súborov.
* Výhody:
* Účinnosť: Dáta sa prenášajú priamo medzi procesmi, čím sa vyhýbajú režijnej náklade na vytváranie a čítanie dočasných súborov.
* jednoduchosť: Ľahko použiteľné v príkazoch Shell.
* Flexibilita: Umožňuje spolu reťazenie viacerých príkazov na zložité pracovné postupy spracovania údajov.
* Obmedzenia:
* Jednotlivé: Dáta tečú iba jedným smerom. Na obojsmernú komunikáciu sú potrebné ďalšie mechanizmy IPC (napr. Sockets).
* Blokovanie: Ak proces písania vytvára údaje rýchlejšie, ako ich proces čítania spotrebuje, proces písania môže blokovať (počkať), kým nárazník nebude mať dostatok miesta. Podobne by proces čítania mohol blokovať, ak je vyrovnávacia pamäť prázdna.
Stručne povedané, rúry sú základným a výkonným nástrojom v Linuxe na vytváranie efektívnych a stručných potrubí na spracovanie údajov tým, že plynulým prepojením výstupu jedného programu k vstupu druhého.