私はSSH上でブロックデバイスをDDにするいくつかのコードに取り組んでおり、サブプロセスでこれを行いたいので、転送中にDDのステータスを監視できますddプロセスをSIGUSR1で実行して現在の状態を取得し、selectを使用してそれを読み取る)。2つのサブプロセス間のPythonパイプ出力
私が実装しようとしているコマンドは、このようなものになるだろう:私が試した現在の方法
dd if=/dev/sda | ssh [email protected] 'dd of=/dev/sda'
た:
dd_process = subprocess.Popen(['dd','if=/dev/sda'],0,None,None,subprocess.PIPE, subprocess.PIPE)
ssh_process = subprocess.Popen(['ssh','[email protected]','dd of=/dev/sda'],0,None,dd_process.stdout)
私はこれを実行したときただし、SSHプロセスになります10〜40秒後に消滅する。
私は完全にここで鈍っているのですか、またはこのようなサブプロセス間をパイプする方法はありませんか?
編集:実際のコードにはホスト名が含まれていません。これは正しいことです。
私はあなたがキーベースの認証やその他の非対話型のメカニズムを使用していることを願っています。 –
明らかに;)私はちょうど関連する例 –
を短縮するためにそのssh引数を取り出しました:[パイプで複数のプロセスを接続するにはどのようにsubprocess.Popenを使用しますか?](http://stackoverflow.com/q/295459/4279) – jfs