我曾经用dd
它来nohup
擦除 1.5TB 的磁盘,但现在我无法获得进度反馈。因为已经过去了 17 个多小时,我很担心……
- 我在卸载磁盘的情况下运行了该命令。
- 该磁盘是通过外部 SATA 端口连接的外部备份。
- Ubuntu 10.04
有关该过程的一些信息:
$ ps ax | grep dd
1469 ? D 95:54 dd if=/dev/zero of=/dev/sde
$ ps -eo pid,comm,lstart,etime,time,args|grep dd
21469 dd Mon Jun 22 17:36:07 2015 17:38:47 01:36:02 dd if=/dev/zero of=/dev/sde
我应该等待、重新启动系统或者做其他事情吗?
答案1
您没有指定块大小dd
,因此它以 512 字节块写入。这就是它如此缓慢的原因。
附加运行
dd
到某个终端(例如使用雷普特)。这样,您将能够读取其标准输出。您可能必须使用sudo
或任何其他方法以 root 身份运行它。$ ps aux | grep [d]d (take note of PID) $ reptyr PID_OF_DD
发送
SIGUSR1
到dd
— 它将报告进度,您将能够计算出驱动器中有多少已经归零。kill -s USR1 PID_OF_DD
您可以终止
dd
并再次运行它,这次指定块大小(例如,dd bs=4K
对于 4K 块)和偏移量,以避免覆盖已经清零的空间。使用寻找参数跳过与dd
书面报告一样多的数据。dd if=/dev/zero of=/dev/sde bs=4K seek=NUMBER_OF_4K_BLOCKS_ALREADY_ZEROED
如果您无法dd
使用重新连接reptyr
,但您记得在哪个目录中运行,那么您可以跳过步骤 1。然后在步骤 2 中,统计信息将被写入该目录中dd
名为的文件中。nohup.out
答案2
您没有指定bs
(例如bs=4k
)参数。这会导致写入速度相当慢,对于 1.5TB 的数据来说,超过 17 小时并不意外。
编辑,(提供选项)回答问题:
- 等待终将使你到达
- 重启似乎反应过度
- 您可以终止 dd 进程并使用 bs 参数重新启动它,但我不确定这是否会给您带来任何好处,这取决于当前操作的进展情况,这几乎是无法回答的。