首页 > 代码库 > mac os x 下查看dd命令刻录U盘的进度

mac os x 下查看dd命令刻录U盘的进度

   dd命令在Linux操作系统上运行,我们使用“killall -USR1 dd”命令即显示当前dd命令刻录的进度,但在OS X上面执行此命令,可能会导致dd进程中止;

    维基百科对dd命令的介绍说:“向运行中的dd进程发送SIGINFO信号(Linux上为USR1)可以使它将I/O统计信息打印到标准错误一次,然后继续复制(注意在OS X上,信号可能导致进程终止)。” 重点是SIGINFP信号,Linux上为使用“killall -USR1 dd”向运行中的进程发送SIGINFO信号,但在OS X中向进程发送SIGINFO的命令不是“killall -USR1 dd”,而是“kill -SIGINFO PID”或者是“killall -29 dd”(因为SIGINFO在OS X中的编号为29,可以使用 kill -l SIGINFO查看);


下面是使用演示:

1、使用ps aux获取dd命令当前运行的PID;

# ps aux | grep dd | grep -v "grep"
# root             40637   0.0  0.0  2463108   2136 s006  S+    7:07下午   0:00.01 sudo dd if=Downloads/openSUSE-Leap-42.2-DVD-x86_64.iso/openSUSE-Leap-42.2-DVD-x86_64.iso of=/dev/disk5 bs=1m


2、使用kill命令发送SIGINFO信号给dd命令的PID;

 # sudo kill -SIGINFO 40637


3、即可显示dd命令当前刻录U盘的进度;

578+0 records in
577+0 records out
605028352 bytes transferred in 201.823793 secs (2997805 bytes/sec)


或者:

sudo killall -29 dd #一条命令搞定!


注意:输出的信息单位为字节,请自行换算为mb,gb;

本文出自 “WangJian的IT之路!” 博客,请务必保留此出处http://asherwang.blog.51cto.com/11255017/1942171

mac os x 下查看dd命令刻录U盘的进度