Przekierowania i potoki okiem programisty - Bez Kompilatora
![Przekierowania i potoki okiem programisty - Bez Kompilatora](https://wykop.pl/cdn/c3397993/link_EbhjzwKDRhyWwmwHJROXef1XuMjRs81J,w300h194.jpg)
Artykuł poświęcony tematowi przekierowań i potoków w Linuxie. Od podstaw użycia, przez zasadę działania, po szczegóły techniczne istotne z punktu widzenia programisty.
![bezkompilatora](https://wykop.pl/cdn/c3397992/bezkompilatora_deHeNYTQZj,q52.jpg)
- #
- #
- #
- #
- #
- 5
- Odpowiedz
Komentarze (5)
najlepsze
szczerze to jestem zdziwiony jak prosto i elegancko jest zaimplementowane "|", zawsze myślałem, że to jest realizowane przez jakiś 3rd program, który pośredniczy w wymianie danych a to po prostu jest spięte jest 0 z 1 na poziomie tworzenie procesów - przepiękne :-))) w dodatku jeden może tylko czytać drugi tylko pisać więc potencjalne hazardy (zapis dwóch procesów do jednego pliku) są eliminowane przez funkcję deskryptora - urzeka prostota tego rozwiązania :)))
Tak z ciekawości: na *BSD jest podobnie?
Co do "rozmnożenia" strumieni o którym piszesz, to jest to mechanizm działania jest taki:
- Dla każdego wystąpienia >(cat) Bash tworzy nowy potok wywołaniem systemowym pipe(). Stworzenie potoku powoduje otwarcie dwóch deskryptorów pliku w procesie powłoki - niektóre z nich będą dziedziczone