2017-11-10 11 views
0

私はraidディスクのためにddを自動化するpythonスクリプトを作成しています。 ddが完了したら、私は他のタスクを実行したいと思います。私はどのように私はPythonを使用してddの進捗状況を確認することができます知っている?Pythonを使ってubuntuで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渡しすることはstderr出力を取得します)

関連する問題