ddの進捗を確認する

2009/04/25PC::Linux/BSD

HDDのフォーマット前の作業などにddをよく使うのだが、進捗が表示されないのでどこまで完了しているのかが不明なところが使いづらい。

そんなわけで、ddの進捗を確認する方法を調べたところ、SIGUSR1シグナルをddに投げればいいらしい。

やってみた

$ dd if=/dev/zero of=/dev/null bs=10M &
[1] 8237
$ ps ax|grep dd
 8237 pts/1    R      0:06 dd if /dev/zero of /dev/null bs 10M
 8239 pts/1    S+     0:00 grep dd
$ kill -SIGUSR1 8237
$ 34411+0 records in
34410+0 records out
360815001600 bytes (361 GB) copied, 19.9085 seconds, 18.1 GB/s

$ kill -SIGUSR1 8237
$ 52939+0 records in
52938+0 records out
555095162880 bytes (555 GB) copied, 31.2714 seconds, 17.8 GB/s

$ fg
dd if=/dev/zero of=/dev/null bs=10M <- ここでCtrl-Cを実行
68153+0 records in
68152+0 records out
714625515520 bytes (715 GB) copied, 39.9663 seconds, 17.9 GB/s

$

これでddが使いやすくなる。

参考

ddの進捗確認方法