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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

9 r4 O: B' N+ O. z" f  R) V如何查看dd的拷贝进度
- i; S2 D* H; s9 _! d& b2 f0 D9 d1 m1 q1 l& S( F
linux中的DD命令可以很方便的作二进制拷贝,比如可以做硬盘克隆。: Q  v" j3 ^' @( M' Y5 T# W( G% ?) O
一般使用方式如下:; t) ^8 V2 u# ?0 b$ e# O4 A  T3 U

/ [: H5 j$ K2 j% Bdd if=/src/device/name of=/dst/device/name
9 y1 t+ O4 W/ w( s+ M4 X/ Q- N6 r
0 s7 Z( o7 n" N- w, e, H... 然后就等它完成,进程退出2 N! Z4 j; M! K( B8 k
) ~  Y: U. m- Q4 e' D
但是当我们需要copy的东西很巨大的时候,这个过程是很痛苦的
: K+ U$ T# q$ _5 Q
3 ]% U! N4 k! x很多人会查看iostat, 来估算大概需要多少时间完成, 这是很不直观的, 也不可靠; M  O& k. ]) d+ U2 l" N9 V/ x2 v
; x& ]5 k# }  N% y
如果我们dd --help
1 c3 }& Y6 O) X. [8 {1 {9 T' S2 E会看到其实是有方法可以查看copy进度的, 帮助文件中的example如下:
1 y+ N1 v* p9 e" }, N
7 l# z* A0 y2 i1 R) j# J$ dd if=/dev/zero of=/dev/null& pid=$!    后台运行dd测试,保存进程号到pid中: Q) c! C0 U, O6 R! u9 C  W) f0 s
/ m6 g5 d" q0 N% V& k
实际我们使用的时候可以新开一个终端,
- q/ P6 ^8 u/ v: T2 a2 F/ k: j# T1 J$ F  I& u
ps -ef | grep dd
! a9 ?% u7 ?6 x. f1 }0 T( Y2 I: p  B7 K! q, b
找到dd的PID, 然后发送USR1(用户自定义信号),查看copy进度! A& D. T9 I( v9 O% Q# C

+ [. U& w/ E$ ^/ U2 d1 D( p有些场合我们可能使用当前这个终端, 那么我们可以把当前运行的dd转到后台:ctrl+z, 这时候dd进程被stop了,使用bg %1让其在后台继续运行,并且编为1号,后面如果要它到前台运行,只要键入fg %1就可以了.
( t+ U7 ]4 G8 @
9 e8 t7 O6 Y2 V' [然后我们输入kill -USR1 PID, 这里的PID是前面用ps查看到的进程号+ L' K1 J2 }/ p- h- J/ y; e( t# T
这时候你就能看到当前的copy信息了,以及平均copy速度" o3 N8 k0 h: N) K6 O8 h8 r+ c3 i
* h6 C5 o) z5 |- \

# p9 n5 ?! i% h5 {可以结合watch -n 1 kill -USR1 PID实时刷新copy进度。
- \( A3 j, b: w- U* }' G% h& Y. e
. i* c. k' r; {% q

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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