2017-11-10 11 views
0

파이어 스크립트를 작성하여 RAID 디스크에 대한 DD를 자동화합니다. dd가 완료되면 다른 작업을 수행하고 싶습니다. 파이썬을 사용하여 dd 진행 상황을 어떻게 확인할 수 있습니까?우분투에서 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

명령이 완료 될 때까지 기다리는 [subprocess] (https://docs.python.org/3.6/library/subprocess.html) 함수 또는 Popen을 사용하십시오. –

답변

1

dd는 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) 

같은 당신은 파일 크기를 비교하는 정규 표현식을 사용하고 만약 당신이 원하는 경우 (다른 작업을 수행 할 수 있습니다 stderr=subprocess.STDOUT으로 이동하면 표준 에러 출력을 얻을 수 있습니다)