如何让dd在MacOS中打印传输统计数据?

 詹建红_335 发布于 2023-02-08 11:11

对于MacOS(Mavericks),我正在制作一个shell脚本来收集随时间推移的转移统计信息dd.

手册页说:

如果dd收到SIGINFO(参见stty(1)的状态参数)信号,则当前输入和输出块计数将以与标准完成消息相同的格式写入标准错误输出.

因此,就像在Linux中一样,我试过:

kill -INFO 

该命令成功完成,状态为0,但是dd进程连接到的终端,标准输出/标准错误中没有统计信息.

那么dd在输出中打印统计数据的正确方法是什么?

2 个回答
  • 它似乎对我有用:

    $ dd if=/dev/zero of=/dev/null bs=1k &
    [1] 33990
    $ kill -INFO 33990
    4787784+0 records in
    4787784+0 records out
    4902690816 bytes transferred in 4.260769 secs (1150658706 bytes/sec)
    $ kill -INFO 33990
    8357846+0 records in
    8357846+0 records out
    8558434304 bytes transferred in 7.428820 secs (1152058392 bytes/sec)
    $ kill 33990
    $ ps
      PID TTY           TIME CMD
     1342 ttys000    0:00.02 -bash
     2290 ttys001    0:00.17 -bash
    [1]+  Terminated: 15          dd if=/dev/zero of=/dev/null bs=1k
    $
    

    2023-02-08 11:13 回答
  • 您也可以在终端选项卡中按Ctrl + T以获得相同的行为:

    MacBook-Pro:~ $ dd if=~/source_image.dmg of=/dev/disk1
    load: 0.87  cmd: dd 7229 uninterruptible 0.21u 3.91s
    265809+0 records in
    265808+0 records out
    136093696 bytes transferred in 131.170628 secs (1037532 bytes/sec)
    load: 0.99  cmd: dd 7229 uninterruptible 0.32u 5.89s
    415769+0 records in
    415768+0 records out
    212873216 bytes transferred in 203.357068 secs (1046795 bytes/sec)
    

    2023-02-08 11:13 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有