我有一个bash管道。我想在后面的工人处理之前停止前面工人做的太多工作。有没有办法减少管道中可以存储的数据量?我可以用行而不是字节指定这个限制?
我知道;正确的";这样做的方法是使用一个消息传递系统,但这似乎是一堆开销。
是的,您可以使用pv实用程序和-l开关。例如:
$dmesg |pv -qL 1 -l
将每秒显示一行内核信息。
$cat my_file.txt | pv -L 5 -l | some_program
将发送我的CCD_ 1到CCD_ 2的内容,并且CCD_。如果没有-q
开关,您将获得与通过管道发送的数据相对应的进度条。在没有-l
的情况下,参数取为每秒字节数。man pv
手册的更多详细信息
通过包管理器pv安装它。
Ubuntu:apt install pv
OpenSuse:zypper in pv
等等。