如何查看dd的拷貝進度

如何查看dd的拷貝進度

linux中的DD命令可以很方便的作二進制拷貝,比如可以做硬盤克隆。
一般使用方式如下:

dd if=/src/device/name of=/dst/device/name
... 然後就等它完成,進程退出

但是當我們需要copy的東西很巨大的時候,這個過程是很痛苦的
很多人會查看iostat, 來估算大概需要多少時間完成, 這是很不直觀的, 也不可靠

如果我們dd --help
會看到其實是有方法可以查看copy進度的, 幫助文件中的example如下:
$ dd if=/dev/zero of=/dev/null& pid=$!    後臺運行dd測試,保存進程號到pid中

實際我們使用的時候可以新開一個終端,
ps -ef | grep dd
找到dd的PID, 然後發送USR1(用戶自定義信號),查看copy進度

有些場合我們可能使用當前這個終端, 那麼我們可以把當前運行的dd轉到後臺: ctrl+z, 這時候dd進程被stop了,使用 bg %1 讓其在後臺繼續運行,並且編爲1號,後面如果要它到前臺運行,只要鍵入 fg %1 就可以了.

然後我們輸入 kill -USR1 PID, 這裏的PID是前面用ps查看到的進程號
這時候你就能看到當前的copy信息了,以及平均copy速度

 

可以結合 watch -n 1 kill -USR1 PID 實時刷新copy進度

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章