PIPESZ(1) Polecenia uzytkownika PIPESZ(1) NAZWA pipesz - ustawia lub sprawdza rozmiary buforow potoku i FIFO SKLADNIA pipesz [opcje] [--set size] [--] [polecenie [argument] ...] pipesz [opcje] --get OPIS Potoki i FIFO utrzymuja wewnetrzny bufor uzywany do transferu danych pomiedzy koncem do odczytu i koncem do zapisu. W niektorych przypadkach domyslny rozmiar wewnetrznego bufora moze nie byc wlasciwy. Niniejszy program dostarcza metody do ustawiania i sprawdzania rozmiaru opisywanych buforow. Operacja --set ustawia rozmiary buforow potoku. Jesli poda sie te opcje, konieczne jest rowniez okreslenie argumentu rozmiar. W innym przypadku jest dorozumiany; rozmiar jest wowczas odczytywany z /proc/sys/fs/pipe-max-size. Jadro moze zmodyfikowac rozmiar zgodnie z opisem w podreczniku fcntl(2). Aby sprawdzic faktycznie ustawione rozmiary bufora, prosze skorzystac z opcji --verbose. Jesli nie poda sie --file ani --fd, --set dziala na standardowym wyjsciu. Operacja --set pozwala na ustawienie opcjonalnego polecenia do wykonania po ustawieniu rozmiarow buforow potoku. Polecenie to jest wykonywane juz na zmodyfikowanych potokach. Operacja --get wypisuje dane w formacie tabelarycznym. Pierwsza kolumna jest nazwa potoku przekazana do pipesz. Deskryptory plikow sa nazywane jako "fd N". Druga kolumna jest rozmiarem wewnetrznego bufora potoku w bajtach. Trzecia kolumna jest liczba nieodczytanych obecnie bajtow w potoku. Kolumny sa rozdzielone znakiem tabulacji("\t", ASCII 09h). Jesli poda sie --verbose, wypisany zostanie rowniez naglowek z opisem. Jesli nie poda sie --file ani --fd, --get dziala na standardowym wejsciu. O ile nie poda sie opcji --check, pipesz nie wychodzi po napotkaniu bledu przy modyfikacji pliku lub deskryptora pliku. Dzieki temu mozna korzystac z pipesz liberalnie i bez obawy o zaburzanie dzialania potokow, gdyby typy okreslonych plikow ulegly pozniej zmianie. Opcja --quiet dodatkowo wylacza wyswietlanie ostrzezen w takim przypadku. Jadro narzuca limity wielkosci przestrzeni na bufory potokow, jaka moga stosowac procesy nieuprzywilejowane, zob. jednak USTERKI ponizej. Jadro odmowi rowniez zmniejszenia bufora potoku, gdyby spowodowalo to utrate zbuforowanych danych. Wiecej szczegolow w podreczniku pipe(7). pipesz obsluguje laczenie wielu krotkich opcji, w zwyklym stylu getopt(3). Pierwszy argument niebedacy opcja jest interpretowany jako polecenie. Jesli nazwa polecenia moze rozpoczynac sie znakiem "-", prosze oddzielic ja znakami "--" od argumentow pipesz. W skryptach powloki, dobra praktyka jest korzystanie z '--' przy interpretacji parametrow. Sam pipesz nie odczytuje ze standardowego wejscia i nie zapisuje na standardowe wyjscie, chyba ze podano opcje --get, --help lub --version. OPCJE -g, --get Zglasza rozmiar buforow potoku na standardowym wyjsciu i wychodzi. Jako przypadek specjalny, jesli nie poda sie --file ani --fd, sprawdzane jest standardowe wejscie. Laczenie tej opcji z --set jest bledem. -s, --set rozmiar Ustawia rozmiar buforow potoku, w bajtach. Po rozmiarze mozna uzyc przyrostka K, M, G, KiB, MiB, lub GiB, aby wskazac wielokrotnosci 1024. Obslugiwane sa tu wartosci ulamkowe. Obslugiwane sa rowniez dodatkowe przyrostki, ale raczej nie okaza sie przydatne. Jesli nie poda sie tej opcji, uzywana jest wartosc domyslna, zgodnie z opisem powyzej. Jesli opcje poda sie wielokrotnie, wypisywane jest ostrzezenie i uzywany jest rozmiar podany jako ostatni. Jako przypadek specjalny, jesli nie poda sie --file ani --fd, dostosowywane jest standardowe wyjscie. Laczenie tej opcji z --get jest bledem. -f, --file sciezka Ustawia rozmiar bufora FIFO lub potoku ze sciezki, wzglednej wobec biezacego katalogu roboczego. Mozna podac opcje wielokrotnie, aby wplynac na rozne pliki, mozna to rowniez uczynic w polaczeniu z --fd. Opcja ta jest zwykle uzywana wobec FIFO, lecz dziala rowniez na potokach anonimowych (nienazwanych), takich jak w /proc/PID/fd. Zmiany rozmiaru bufora FIFO nie sa zachowywane po przeladowaniu systemu. -n, --fd deskryptor-pliku ustawia rozmiar bufora potoku lub FIFO przekazanego do pipesz jako podany numer deskryptora pliku. Mozna podac opcje wielokrotnie, aby wplynac na rozne pliki, mozna to rowniez uczynic w polaczeniu z --file. Do najczestszych deskryptorow plikow udostepnione sa skroty; dotyczy to deskryptora plikow 0 (standardowe wejscie), 1 (standardowe wyjscie) i 2 (standardowe wyjscie bledow). W wiekszosci sytuacji powinny okazac sie one wystarczajace. -i, --stdin Skrot --fd 0. -o, --stdout Skrot --fd 1. -e, --stderr Skrot --fd 2. -c, --check Wychodzi, bez wykonywania polecenia, gdyby przy operowaniu na pliku lub deskryptorze plikow wystapil jakis blad. Domyslnym zachowaniem w takim przypadku jest wypisanie ostrzezenia na standardowe wyjscie bledow i kontynuowanie. -q, --quiet Nie informuje o niekrytycznych bledach na standardowym wyjsciu bledow. Opcja nie wplywa na zwykle wyjscie opcji --get, --verbose, --help i --version. -v, --verbose Przy lacznym uzyciu z --get, pipesz wypisze naglowek z opisem nad tabela. Jesli sie ja poda w innym przypadku, pipesz wypisze faktyczne rozmiary buforow ustawione przez jadro na standardowe wyjscie bledow. -h, --help Wyswietla ten tekst i wychodzi. -V, --version Wyswietla wersje i wychodzi. PRZYKLADY pipesz dd if=plik bs=1M | ... Uruchamia dd(1) z powiekszonym standardowym potokiem wyjsciowym, co umozliwia unikniecie przelaczania kontekstow przy przekazywaniem potokiem duzych blokow danych. pipesz -s1M -cf /run/moja-usluga.fifo Ustawia rozmiar bufora potoku FIFO uslugi na 1 048 576 bajtow. Jesli rozmiar bufora nie moze byc ustawiony, pipesz wyjdzie z bledem. echo witaj | pipesz -g Wypisze rozmiar potoku uzywany przez powloke w celu przekazania wejscia do pipesz. Poniewaz pipesz nie odczytuje standardowego wejscia, program moze rowniez zglosic 6 nieodczytanych bajtow w potoku, w zaleznosci od wzglednej chronologii zdarzen. find /proc/PID/fd -exec pipesz -gqf '{}' ';' Wypisuje rozmiar i liczbe nieodczytanych bajtow ze wszystkich potokow uzywanych przez proces o identyfikatorze PID. Jesli niektore potoki sa czesto pelne, pipesz moze pomoc uniknac efektu waskiego gardla. UWAGI Linux obsluguje dostosowywanie rozmiarow buforow potokow od jadra 2.6.35. W tym wydaniu wprowadzono rowniez /proc/sys/fs/pipe-max-size. Niniejszy program do ustawiania rozmiarow buforow potokow korzysta z F_GETPIPE_SZ/F_SETPIPE_SZ fcntl(2). Program korzysta z FIONREAD ioctl(2) do zglaszania ilosci nieodczytanych danych w potokach. Jesli z jakiegos powodu sie to nie powiedzie, rozmiar nieodczytanych danych jest zglaszany jako 0. USTERKI Przed Linuksem 4.9, pewne bledy wplywaly na stosowanie pewnych ograniczen zasobow przy ustawianiu rozmiarow buforow potokow. Wiecej szczegolow w podreczniku pipe(7). AUTORZY Nathan Sharp ZOBACZ TAKZE pipe(7) ZGLASZANIE BLEDOW Problemy nalezy zglaszac w systemie sledzenia bledow . DOSTEPNOSC Polecenie pipesz jest czescia pakietu util-linux, ktory mozna pobrac ze strony Archiwum jadra Linux . util-linux 2.41 2025-03-29 PIPESZ(1)