Scroll to navigation

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

НАЗИВ

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

УВОД

pipesz [options] [--set size] [--] [command [argument...]]

pipesz [options] --get

ОПИС

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

The --set operation sets pipe buffer sizes. If it is specified, it must be specified with an explicit size. Otherwise, it is implied and the size is read from /proc/sys/fs/pipe-max-size. The kernel may adjust size as described in fcntl(2). To see the actual buffer sizes that get set, use the --verbose option. If neither --file nor --fd are specified, --set acts on standard output.

Операција --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 величина

Set the size of the pipe buffers, in bytes. This option may be suffixed by K, M, G, KiB, MiB, or GiB to indicate multiples of 1024. Fractional values are supported in this case. Additional suffixes are supported but are unlikely to be useful. If this option is not specified, a default value is used, as described above. If this option is specified multiple times, a warning is emitted and only the last-specified size is used. As a special behavior, if neither --file nor --fd are specified, standard output is adjusted. It is an error to specify this option in combination with --get.

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

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

-n, --fd number

Set the buffer size of the pipe or FIFO corresponding to file descriptor number. You may specify this option multiple times to affect different file descriptors, and you may do so in combination with --file. Shorthand options are provided for the common cases of fd 0 (stdin), fd 1 (stdout), and fd 2 (stderr). These should suffice in most cases.

-i, --stdin

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

-o, --stdout

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

-e, --stderr

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

-c, --check

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

-q, --quiet

Do not report non-fatal errors to standard error. This option does not affect the normal output of --get, --verbose, --help, or --version.

-v, --verbose

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

-h, --help

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

-V, --version

Исписује издање и излази.

ПРИМЕРИ

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)

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

За пријављивање грешака, користите „https://github.com/util-linux/util-linux/issues[issue tracker]“.

ДОСТУПНОСТ

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

2026-03-03 util-linux 2.42-rc1