0

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)
  • Use any [subprocess](https://docs.python.org/3.6/library/subprocess.html) function or Popen, that waits for the command to finish. – Maurice Meyer Nov 10 '17 at 09:41

1 Answers1

1

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)

WiLL_K
  • 575
  • 1
  • 3
  • 22