मैं सबप्रोसेस मॉड्यूल का उपयोग कर रहा हूं ताकि सर्वर पर लॉग-इन करने के लिए बाहरी प्रोग्राम (plink.exe) को कॉल किया जा सके; लेकिन जब मैं आउटपुट पढ़ने के लिए संवाद करता हूं, तो यह अवरुद्ध हो रहा है। कोड के नीचे है:पायथन उपप्रोसेस संचार() ब्लॉक
import subprocess
process = subprocess.Popen('plink.exe [email protected] -pw 123456'.split(), shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print process.communicate() #block here
मैं जानता हूँ कि ब्लॉक है, क्योंकि plink.exe
यह अभी भी चल रहा है; लेकिन मुझे subprocess समाप्त होने से पहले आउटपुट को पढ़ने की जरूरत है। क्या उसे करने का कोई तरीका है?
आप plink के साथ बातचीत करने की जरूरत है, या आप बस फोन करना और पढ़ने की जरूरत है अवरुद्ध किए बिना std आउटपुट? – Khelben
संबंधित: [पायथन: subprocess.communicate()] से स्ट्रीमिंग इनपुट पढ़ें (http://stackoverflow.com/q/2715847/4279) – jfs