Provided by: util-linux-locales_2.41-4ubuntu3_all bug

NAZWA

       pipesz - ustawia lub sprawdza rozmiary buforów potoku i FIFO

SKŁADNIA

       pipesz [opcje] [--set size] [--] [polecenie [argument] ...]

       pipesz [opcje] --get

OPIS

       Potoki i FIFO utrzymują wewnętrzny bufor używany do transferu danych pomiędzy końcem do odczytu i końcem
       do zapisu. W niektórych przypadkach domyślny rozmiar wewnętrznego bufora może nie być właściwy. Niniejszy
       program dostarcza metody do ustawiania i sprawdzania rozmiaru opisywanych buforów.

       Operacja --set ustawia rozmiary buforów potoku. Jeśli poda się tę opcję, konieczne jest również
       określenie argumentu rozmiar. W innym przypadku jest dorozumiany; rozmiar jest wówczas odczytywany z
       /proc/sys/fs/pipe-max-size. Jądro może zmodyfikować rozmiar zgodnie z opisem w podręczniku fcntl(2). Aby
       sprawdzić faktycznie ustawione rozmiary bufora, proszę skorzystać z opcji --verbose. Jeśli nie poda się
       --file ani --fd, --set działa na standardowym wyjściu.

       Operacja --set pozwala na ustawienie opcjonalnego polecenia do wykonania po ustawieniu rozmiarów buforów
       potoku. Polecenie to jest wykonywane już na zmodyfikowanych potokach.

       Operacja --get wypisuje dane w formacie tabelarycznym. Pierwsza kolumna jest nazwą potoku przekazaną do
       pipesz. Deskryptory plików są nazywane jako "fd N". Druga kolumna jest rozmiarem wewnętrznego bufora
       potoku w bajtach. Trzecia kolumna jest liczbą nieodczytanych obecnie bajtów w potoku. Kolumny są
       rozdzielone znakiem tabulacji("\t", ASCII 09h). Jeśli poda się --verbose, wypisany zostanie również
       nagłówek z opisem. Jeśli nie poda się --file ani --fd, --get działa na standardowym wejściu.

       O ile nie poda się opcji --check, pipesz nie wychodzi po napotkaniu błędu przy modyfikacji pliku lub
       deskryptora pliku. Dzięki temu można korzystać z pipesz liberalnie i bez obawy o zaburzanie działania
       potoków, gdyby typy określonych plików uległy później zmianie. Opcja --quiet dodatkowo wyłącza
       wyświetlanie ostrzeżeń w takim przypadku.

       Jądro narzuca limity wielkości przestrzeni na bufory potoków, jaką mogą stosować procesy
       nieuprzywilejowane, zob. jednak USTERKI poniżej. Jądro odmówi również zmniejszenia bufora potoku, gdyby
       spowodowało to utratę zbuforowanych danych. Więcej szczegółów w podręczniku pipe(7).

       pipesz obsługuje łączenie wielu krótkich opcji, w zwykłym stylu getopt(3). Pierwszy argument niebędący
       opcją jest interpretowany jako polecenie. Jeśli nazwa polecenia może rozpoczynać się znakiem "-", proszę
       oddzielić ją znakami "--" od argumentów pipesz. W skryptach powłoki, dobrą praktyką jest korzystanie z
       '--' przy interpretacji parametrów. Sam pipesz nie odczytuje ze standardowego wejścia i nie zapisuje na
       standardowe wyjście, chyba że podano opcje --get, --help lub --version.

OPCJE

       -g, --get
           Zgłasza rozmiar buforów potoku na standardowym wyjściu i wychodzi. Jako przypadek specjalny, jeśli
           nie poda się --file ani --fd, sprawdzane jest standardowe wejście. Łączenie tej opcji z --set jest
           błędem.

       -s, --set rozmiar
           Ustawia rozmiar buforów potoku, w bajtach. Po rozmiarze można użyć przyrostka K, M, G, KiB, MiB, lub
           GiB, aby wskazać wielokrotności 1024. Obsługiwane są tu wartości ułamkowe. Obsługiwane są również
           dodatkowe przyrostki, ale raczej nie okażą się przydatne. Jeśli nie poda się tej opcji, używana jest
           wartość domyślna, zgodnie z opisem powyżej. Jeśli opcję poda się wielokrotnie, wypisywane jest
           ostrzeżenie i używany jest rozmiar podany jako ostatni. Jako przypadek specjalny, jeśli nie poda się
           --file ani --fd, dostosowywane jest standardowe wyjście. Łączenie tej opcji z --get jest błędem.

       -f, --file ścieżka
           Ustawia rozmiar bufora FIFO lub potoku ze ścieżki, względnej wobec bieżącego katalogu roboczego.
           Można podać opcję wielokrotnie, aby wpłynąć na różne pliki, można to również uczynić w połączeniu z
           --fd. Opcja ta jest zwykle używana wobec FIFO, lecz działa również na potokach anonimowych
           (nienazwanych), takich jak w /proc/PID/fd. Zmiany rozmiaru bufora FIFO nie są zachowywane po
           przeładowaniu systemu.

       -n, --fd deskryptor-pliku
           ustawia rozmiar bufora potoku lub FIFO przekazanego do pipesz jako podany numer deskryptora pliku.
           Można podać opcję wielokrotnie, aby wpłynąć na różne pliki, można to również uczynić w połączeniu z
           --file. Do najczęstszych deskryptorów plików udostępnione są skróty; dotyczy to deskryptora plików 0
           (standardowe wejście), 1 (standardowe wyjście) i 2 (standardowe wyjście błędów). W większości
           sytuacji powinny okazać się one wystarczające.

       -i, --stdin
           Skrót --fd 0.

       -o, --stdout
           Skrót --fd 1.

       -e, --stderr
           Skrót --fd 2.

       -c, --check
           Wychodzi, bez wykonywania polecenia, gdyby przy operowaniu na pliku lub deskryptorze plików wystąpił
           jakiś błąd. Domyślnym zachowaniem w takim przypadku jest wypisanie ostrzeżenia na standardowe wyjście
           błędów i kontynuowanie.

       -q, --quiet
           Nie informuje o niekrytycznych błędach na standardowym wyjściu błędów. Opcja nie wpływa na zwykłe
           wyjście opcji --get, --verbose, --help i --version.

       -v, --verbose
           Przy łącznym użyciu z --get, pipesz wypisze nagłówek z opisem nad tabelą. Jeśli się ją poda w innym
           przypadku, pipesz wypisze faktyczne rozmiary buforów ustawione przez jądro na standardowe wyjście
           błędów.

       -h, --help
           Wyświetla ten tekst i wychodzi.

       -V, --version
           Wyświetla wersję i wychodzi.

PRZYKŁADY

       pipesz dd if=plik bs=1M | ...
           Uruchamia dd(1) z powiększonym standardowym potokiem wyjściowym, co umożliwia uniknięcie przełączania
           kontekstów przy przekazywaniem potokiem dużych bloków danych.

       pipesz -s1M -cf /run/moja-usługa.fifo
           Ustawia rozmiar bufora potoku FIFO usługi na 1 048 576 bajtów. Jeśli rozmiar bufora nie może być
           ustawiony, pipesz wyjdzie z błędem.

       echo witaj | pipesz -g
           Wypisze rozmiar potoku używany przez powłokę w celu przekazania wejścia do pipesz. Ponieważ pipesz
           nie odczytuje standardowego wejścia, program może również zgłosić 6 nieodczytanych bajtów w potoku, w
           zależności od względnej chronologii zdarzeń.

       find /proc/PID/fd -exec pipesz -gqf '{}' ';'
           Wypisuje rozmiar i liczbę nieodczytanych bajtów ze wszystkich potoków używanych przez proces o
           identyfikatorze PID. Jeśli niektóre potoki są często pełne, pipesz może pomóc uniknąć efektu wąskiego
           gardła.

UWAGI

       Linux obsługuje dostosowywanie rozmiarów buforów potoków od jądra 2.6.35. W tym wydaniu wprowadzono
       również /proc/sys/fs/pipe-max-size.

       Niniejszy program do ustawiania rozmiarów buforów potoków korzysta z F_GETPIPE_SZ/F_SETPIPE_SZ fcntl(2).

       Program korzysta z FIONREAD ioctl(2) do zgłaszania ilości nieodczytanych danych w potokach. Jeśli z
       jakiegoś powodu się to nie powiedzie, rozmiar nieodczytanych danych jest zgłaszany jako 0.

USTERKI

       Przed Linuksem 4.9, pewne błędy wpływały na stosowanie pewnych ograniczeń zasobów przy ustawianiu
       rozmiarów buforów potoków. Więcej szczegółów w podręczniku pipe(7).

AUTORZY

       Nathan Sharp <nwsharp@live.com>

ZOBACZ TAKŻE

       pipe(7)

ZGŁASZANIE BŁĘDÓW

       Problemy należy zgłaszać w systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.

DOSTĘPNOŚĆ

       Polecenie pipesz jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.41                                    2025-07-02                                          PIPESZ(1)