Python-Piping-Ausgabe zwischen zwei UnterprozessenPython

Python-Programme
Anonymous
 Python-Piping-Ausgabe zwischen zwei Unterprozessen

Post by Anonymous »

Ich arbeite an einem Code, der ein Blockgerät über SSH per DD ausführt, und ich möchte dies mit einem Unterprozess tun, damit ich den Status von DD während der Übertragung überwachen kann (den DD-Prozess mit SIGUSR1 beenden, um seinen aktuellen Status zu erhalten, und diesen mit Selects lesen).

Der Befehl, den ich zu implementieren versuche, würde etwa so aussehen:

Code: Select all

dd if=/dev/sda | ssh [email protected] 'dd of=/dev/sda'
Die aktuelle Methode, die ich ausprobiert habe, war:

Code: Select all

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)
Wenn ich dies jedoch ausführe, wird der SSH-Prozess nach 10–40 Sekunden deaktiviert.

Bin ich hier völlig dumm, oder gibt es keine Möglichkeit, zwischen Unterprozessen wie diesem weiterzuleiten?

Bearbeiten: Es stellte sich heraus, dass mein echter Code den Hostnamen nicht enthielt. Das ist die richtige Vorgehensweise.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post