您的位置:首页 > 其它

dd 动态(每秒)查看 速度

2016-04-06 11:44 155 查看
使用 dd 时,通常我们想看copy 的数据,和copy 的速度,

需要等待dd 结束后,才能看到.

而我们这里,提出一种方法,以每秒的方法去查看 dd 的copy数据和copy速度

需要两个终端,一个终端下使用 dd 命令 copy 数据;另一个终端 使用 kill 命令

如下:

终端一:

# dd if=/dev/zero of=/dev/null bs=4096 count=$((20*1024*1024)) &


之后会输出 这个后台进程的进程号:

[1] 4262


4262 就是 dd 执行的进程号

在终端二下:

# kill -10 4262


使用 -10 向 dd 发送一个信号,这个信号,会被 dd 命令捕捉到,从而打印出 dd 的信息,如下:

终端一中的输出:

8095039+0 records out
33157279744 bytes (33 GB) copied, 2.88624 s, 11.5 GB/s


由此,我们根据 kill 每秒向 dd 发送 -10 的信号,我们的脚本如下:

#!/bin/sh

pid=$1
while ps -ef | awk '{print $2}' | grep -q $pid
do
if [ $? -eq 0 ]; then
kill -10 $pid
else
echo "No such pid - $pid"
exit 1
fi
sleep 1
done
echo "Done"


于是,我们在终端二中使用这个脚本,就可以在终端一中,每秒显示出 dd 信息了,

使用方法:

# bash kill.sh 4262


Over.

谢谢大家!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: