Il punto è che io vorrei che il subprocess restasse in esecuzione (non
voglio che la connessione ssh venga chiusa) se utilizzo il metodo da te
descritto mi ritrovo che la connessione ssh viene chiusa ogni volta.<br><br>per
il resto mi va anche bene che la lettura dell'output generato dal
comando eseguito attraverso la connessione ssh instaurata dal
subprocess avvenga a comando eseguito.<br>
<br>Grazie.<br>Fabio<br><br><div><span class="gmail_quote">2008/2/21, Alessandro Dentella <<a href="mailto:sandro@e-den.it">sandro@e-den.it</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Thu, Feb 21, 2008 at 10:15:15AM +0100, Shatzu wrote:<br> ><br> > Salve,<br> > sono nuovo di qui!<br> > stavo cercando di scrivere uno script python che, lanciando un subprocess<br> > che effettua una connessione ssh ad un server, mi permetta poi di eseguire<br>
> comandi e leggere gli output.<br> > Riesco ad effettuare la connessione e anche a far eseguire comandi scrivendo<br> > sull'stdin, ma ho problemi a leggere l'output, nel senso che non sempre è<br>
> completo e a volte con le funzioni read o readline mi si blocca lo script.<br> > Come posso fare a leggere tutto l'output dei comandi che lancio?<br> <br> <br>come lo usi? leggi l'output man mano o vorresti leggerlo alla fine del<br>
comando? Io lo uso normalmente così:<br> <br> p = subprocess.Popen(cmd, stdin=stdin, stdout=stdout, stderr=stderr, **kw)<br> (stdout, stderr) = p.communicate(input=subproc_input)<br> <br> dove in, out err vengono inizializzate da codice non mostrato normalmente a<br>
subprocess.PIPE<br> <br> Questo codice però va bene se aspetti che il comando termini l'esecuzione.<br> <br> sandro<br> *:-)<br> _______________________________________________<br> Python mailing list<br> <a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python">http://lists.python.it/mailman/listinfo/python</a><br> </blockquote></div><br>