我正在创建一个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)
答案 0 :(得分:1)
dd不向stdout输出任何内容,但是,它确实输出到stderr。传入stderr=subprocess.STDOUT
以获取stderr输出:Documentation here
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)
您可以使用正则表达式来比较文件大小和执行其他操作(如果这是您想要的)