我正在运行
一个
shell脚本,将数据从
一个进程传递到另
一个进程
process_a | process_b
有谁知道找出两个程序之间传递了多少字节的方法?我现在能想到的唯一解决方案是编写一个从stdin读取的小型c程序,写入stdout并计算所有传输的数据,将计数存储在环境变量中,如:
process_a | count_bytes | process_b
有没有人有一个更整洁的解决方案?
通过dd管道. dd的
默认输入是stdin,
默认
输出是stdout;当它完成stdin / stdout I / O时,它会向stderr报告它传输了多少数据.
如果要捕获dd的输出并且其他程序已经与stderr对话,则使用另一个文件描述符.例如,
$exec 4>~/fred
$input-command | dd 2>&4 | output-command
$exec 4>&-