微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash – 计算从一个进程传递到另一个进程的字节数

我正在运行一个 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>&-

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐