Scroll to navigation

PIPESZ(1) Корисничке наредбе PIPESZ(1)

НАЗИВ

pipesz - поставља или испитује величине међумеморије спојке и ПУПИ-ја.

УВОД

pipesz [опције] [--set величина] [--] [наредба [аргумент] ...]

pipesz [опције] --get

ОПИС

Спојке и ПУПИ-ји одржавају унутарњу међумеморију која се користи за пренос података између краја за читање и краја за уписивање. У неким случајевима, подразумевана величина ове унутарње међумеморије можда неће бити одговарајућа. Овај програм обезбеђује могућности за постављање и испитивање величине ових међумеморија.

Операција --set поставља величину међумеморије спојке. Ако је наведено, мора бити наведено са изричитом величином. У супротном, подразумева се и величина се чита из /proc/sys/fs/pipe-max-size. Кернел може подесити величину као што је описано у fcntl(2). Да одредите стварну постављену величину међумеморије, користите опцију --verbose. Ако ни --file ни --fd нису наведени, --set делује на стандардни излаз.

Операција --set допушта да се опционална наредба изврши након постављања величине међумеморије спојке. Ова наредба се извршава са подешеним спојкама.

Операција --get даје податке у табеларном формату. Прва колона је назив спојке који је прослеђен pipesz-у. Описници датотека су именовани као "fd N". Друга колона је величина, у бајтовима, унутрашње међумеморије спојке. Трећа колона је број непрочитаних бајтова који су тренутно у спојци. Колоне су раздвојене табулаторима ('\t', АСКРИ 09h). Ако је наведено --verbose, такође се емитује и описно заглавље. Ако ни --file ни --fd нису наведени, --get делује на стандардни улаз.

Осим ако опција --check није наведена, pipesz не излази ако наиђе на грешку током рада са датотеком или описником датотеке. Ово омогућава да се pipesz користи уопштено без страха од ометања извршавања спојки ако се врста одређених датотека касније измени. За минимално ометање, опција --quiet спречава емитовање упозорења у овим случајевима.

Кернел намеће ограничења на количину простора међумеморије спојке који непривилеговани процеси могу да користе, стога испод погледајте ГРЕШКЕ. Кернел ће такође одбити да смањи међумеморију цеви ако би то изазвало губитак ускладиштених података. Погледајте pipe(7) за додатне детаље.

pipesz подржава навођење више кратких опција узастопно, на уобичајен getopt(3) начин. Први аргумент без опције се тумачи као наредба. Ако наредба може да почиње са „-“, користите „--“ да је одвојите од аргумената за pipesz. У скриптама шкољке, добра је пракса да користите „--“ када је умешано проширење параметра. Само pipesz не чита са стандардног улаза и не уписује на стандардни излаз осим ако није наведено --get, --help, или --version.

ОПЦИЈЕ

-g, --get

Извештава о величини међумеморије спојке на стандардни излаз и излази. Као посебно понашање, ако није наведено ни --file ни --fd, испитује се стандардни улаз. Грешка је навести ову опцију у комбинацији са --set.

-s, --set величина

Подесите величину међумеморије спојке, у бајтовима. Ова опција може имати суфикс K, M, G, KiB, MiB или GiB да се назначе мултипли од 1024. У овом случају подржане су разломачке вредности. Додатни суфикси су подржани, али је мало вероватно да ће бити корисни. Ако ова опција није наведена, користи се основна вредност, као што је горе описано. Ако је ова опција наведена више пута, емитује се упозорење и користи се само последња наведена величина. Као посебно понашање, ако ни --file ни --fd нису наведени, стандардни излаз се прилагођава. Грешка је навести ову опцију у комбинацији са --get.

-f, --file путања

Поставља величину међумеморије ПУПИ-ја или спојке на путања, у односу на тренутни радни директоријум. Ову опцију можете навести више пута да бисте утицали на различите датотеке, а то можете учинити у комбинацији са --fd. Уопштено, ова опција се користи са ПУПИ-јима, али ће такође радити на анонимним спојкама као што су оне које се налазе у /proc/PID/fd. Промене величине међумеморије ПУПИ-ја се не чувају током поновног покретања система.

-n, --fd од

Поставља величину међумеморије спојке или ПУПИ прослеђеног на pipesz као наведени број описника датотеке. Ову опцију можете да наведете више пута да бисте утицали на различите описнике датотека, а то можете учинити у комбинацији са --file. Скраћене опције су обезбеђене за уобичајене случајеве „од 0“ (стдул), „од 1“ (стдизл) и „од 2“ (стдгршк). Ово би требало да буде довољно у већини случајева.

-i, --stdin

Скраћеница за --fd 0.

-o, --stdout

Скраћеница за --fd 1.

-e, --stderr

Скраћеница за --fd 2.

-c, --check

Излази, без извршавања наредбе, у случају било какве грешке приликом рада са датотеком или описником датотеке. Основно понашање ако ово није наведено је да емитује упозорење на стандардну грешку и да настави.

-q, --quiet

Не дијагностикује грешке које нису кобне на стандардну грешку. Ова опција не утиче на нормалан излаз за --get, --verbose, --help, или --version.

-v, --verbose

Ако је наведено са --get, pipesz ће емитовати описно заглавље изнад табеле. У супротном, ако је наведено, pipesz ће исписати стварне величине међумеморије које кернел постави на стандардну грешку.

-h, --help

Приказује текст помоћи и излази.

-V, --version

Display version and exit.

ПРИМЕРИ

pipesz dd if=дттка bs=1M | ...

Покреће dd(1) са проширеном стандардном излазном спојком, омогућавајући му да избегне промене контекста када спаја око великих блокова.

pipesz -s1M -cf /run/my-service.fifo

Поставља величину међумеморије спојке ПУПИ услуге на 1048576 бајтова. Ако величина међумеморије није могла да се постави, pipesz излази са грешком.

echo hello | pipesz -g

Исписује величину спојке коју користи шкољка за прослеђивање улаза у pipesz. Пошто pipesz не чита стандардни улаз, може такође да пријави 6 непрочитаних бајтова у спојки, у зависности од релативних тајминга.

find /proc/PID/fd -exec pipesz -gqf '{}' ';'

Исписује величину и број непрочитаних бајтова свих спојки које користи ПИД. Ако су неке спојке рутински пуне, pipesz би можда могао да ублажи уско грло у обради.

БЕЛЕШКЕ

Линукс подржава подешавање величине међумеморије спојке од кернела 2.6.35. Ово издање такође уводи /proc/sys/fs/pipe-max-size.

Овај програм користи fcntl(2) F_GETPIPE_SZ/F_SETPIPE_SZ да би добио и подесио величине међумеморије спојке.

Овај програм користи ioctl(2) FIONREAD да пријави количину непрочитаних података у спојкама. Ако из неког разлога ово не успе, количина непрочитаних података се пријављује као 0.

ГРЕШКЕ

Пре Линукса 4.9, неке грешке утичу на то како се одређена ограничења ресурса примењују приликом постављања величинмеђумеморије спојке. Погледајте pipe(7) за детаље.

АУТОРИ

Nathan Sharp <nwsharp@live.com>

ПОГЛЕДАЈТЕ ТАКОЂЕ

pipe(7)

ПРИЈАВЉИВАЊЕ ГРЕШАКА

For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>.

ДОСТУПНОСТ

Наредба pipesz је део пакета „util-linux“ који се може преузети са Архиве Линукс кернела <https://www.kernel.org/pub/linux/utils/util-linux/>.

2025-03-06 util-linux 2.41-rc2