Ich habe folgende Python-Code, hängt:Python subprocess kommunizieren friert
cmd = ["ssh", "-tt", "-vvv"] + self.common_args
cmd += [self.host]
cmd += ["cat > %s" % (out_path)]
p = subprocess.Popen(cmd, stdin=subprocess.PIPE,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate(in_string)
Es soll eine Zeichenfolge (in_string) in eine Remote-Datei über ssh speichern.
Die Datei wird korrekt gespeichert, aber dann hängt der Prozess. Wenn ich
cmd += ["echo"] instead of
cmd += ["cat > %s" % (out_path)]
der Prozess hänge nicht so verwenden, bin ich ziemlich sicher, dass ich etwas über die Art und Weise falsch verstanden kommunizieren Auffassung, dass der Prozess beendet wird.
Weißt du, wie ich den Befehl schreiben sollte, damit die "cat> Datei" Kommunikation nicht hängen lässt?
Ich denke, dass [Post] (http://stackoverflow.com/a/19202567/1982962) kann helfen, es ist ein Beispiel dafür, wie man in eine Remote-Datei mit SSH –
Slight Tangens schreiben , aber anstatt einen SSH-Prozess dafür zu verwenden, haben Sie etwas wie [SSHFS] (http://fuse.sourceforge.net/sshfs.html) in Betracht gezogen? Das würde bedeuten, dass Sie sich nur um das Schreiben in eine Datei kümmern müssen, anstatt all diese –