找回密码
 注册
关于网站域名变更的通知
查看: 301|回复: 1
打印 上一主题 下一主题

怎样查看dd的拷贝进度呢?看下文

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-22 09:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
2 o+ l  Q+ D% u% U- U; B2 {8 l
如何查看dd的拷贝进度) i7 \6 A# [0 D' u3 ^

  h/ A0 K' A9 x! K+ blinux中的DD命令可以很方便的作二进制拷贝,比如可以做硬盘克隆。
3 Y  {& t0 o( R6 i一般使用方式如下:
+ j) g/ T7 y* D5 [/ q( C9 k1 |
' ]( r$ }, G* q( }% W! ]; Add if=/src/device/name of=/dst/device/name( V, T# X( Q0 x3 _; Q+ D
1 f# S6 g, o$ C6 {
... 然后就等它完成,进程退出; [. u' V: W6 ~( j! t

. \$ i. |9 k- _4 X4 @8 ?0 v但是当我们需要copy的东西很巨大的时候,这个过程是很痛苦的7 x! \% f: L, Y1 D( k. S
- N7 E- S* i) f. E. c7 X0 [6 \
很多人会查看iostat, 来估算大概需要多少时间完成, 这是很不直观的, 也不可靠
' M- I) |6 X3 [# B2 g" ]0 d4 I2 Y
' }9 F/ ^( g" `( ]- W" ^如果我们dd --help
+ R" H  ?: j; i  O会看到其实是有方法可以查看copy进度的, 帮助文件中的example如下:  O4 \5 X- ]3 A1 \% w
- b' g# r9 p* B$ B3 t1 N
$ dd if=/dev/zero of=/dev/null& pid=$!    后台运行dd测试,保存进程号到pid中( h3 c) D1 ^& H/ j( \
5 Y, f# x' Z/ T* d
实际我们使用的时候可以新开一个终端,4 ^9 j1 z5 s* d
1 y2 {6 m, I) I
ps -ef | grep dd4 p7 y8 N. M8 U+ B" J  R  v+ U
2 v5 b  F  E* `" M2 ~' q* C
找到dd的PID, 然后发送USR1(用户自定义信号),查看copy进度% q9 f: {& _3 y# J' m$ b/ c
! F* w7 M. C2 c6 ]3 j3 g
有些场合我们可能使用当前这个终端, 那么我们可以把当前运行的dd转到后台:ctrl+z, 这时候dd进程被stop了,使用bg %1让其在后台继续运行,并且编为1号,后面如果要它到前台运行,只要键入fg %1就可以了.* J, L* @8 Z# A3 m$ f% n
$ W3 a% X, V3 P9 n5 ?7 a
然后我们输入kill -USR1 PID, 这里的PID是前面用ps查看到的进程号0 P7 ~& }; Q& B, f9 p/ l
这时候你就能看到当前的copy信息了,以及平均copy速度
5 K3 |$ Y' x. B5 ]0 X" Y7 K0 Q8 F+ `
! |$ s- N# o! e; `
$ _! I# E$ D/ j5 m可以结合watch -n 1 kill -USR1 PID实时刷新copy进度。, j8 n* u0 s& c( m0 }; U
+ R2 k3 F2 i3 m" r( v* @

该用户从未签到

2#
发表于 2020-1-22 16:36 | 只看该作者
查看dd的拷贝进度呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 19:45 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表