Checking of dd status in ubuntu using python

473 Views Asked by At

I'm creating a python script to automate dd for my raid disk. After dd is complete, i would like to perform other tasks. May i know how can i verify the statues of the dd progress using python?

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)
1

There are 1 best solutions below

0
WiLL_K On

dd does not output anything to stdout, however, it does output to stderr. Pass in stderr=subprocess.STDOUT to get the stderr output: Documentation here

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

you will get output like

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

where you can use regular expressions to compare file size and the perform other operations(if that's what you want)