0

我正在创建一个 python 脚本来为我的 raid 磁盘自动化 dd。dd完成后,我想执行其他任务。我可以知道如何使用 python 验证 dd 进度的状态吗?

os.system('sudo losetup -D -v');
os.system('sudo losetup -o 1048576 -f xxx.img');
os.system('sudo losetup -o 1048576 -f xxx.img');
os.system('sudo mdadm --assemble --verbose --force /dev/md0 /dev/loop0 /dev/loop1');
os.system('dd if=/dev/md0 of=/desktop');
(perform other task once dd is complete)
4

1 回答 1

1

dd 不会向 stdout 输出任何内容,但是,它会输出到 stderr。传入stderr=subprocess.STDOUT以获取 stderr 输出:此处的文档

output_dd = subprocess.check_output(['dd', 'if=/dev/md0', 'of=/desktop'] stderr=subprocess.STDOUT)

你会得到像

b'# records in\n# records out\n# bytes transferred in # secs,  (# bytes/sec)

您可以在其中使用正则表达式来比较文件大小并执行其他操作(如果这是您想要的)

于 2017-11-10T12:43:10.077 回答