Provided by: util-linux-locales_2.41-4ubuntu4.2_all 

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 2026-03-06 PIPESZ(1)