2011-08-13 6 views
4

J'écris un script en utilisant python pexpect pour exécuter un autre script sur une machine distante. Cela fonctionne correctement dans les cas normaux, mais s'il y a un time.sleep dans le script distant, il échoue. Je veux accéder à l'ordinateur distant, démarrer le script en arrière-plan et sortir. Est-ce possible ? Est-ce que quelqu'un peut suggérer une alternative ou laissez-moi savoir comment contourner ce problème?Des substituts pour pexpect?

+1

Avez-vous essayé régler manuellement un délai d'attente sur la commande pexpect? –

+0

Non, je vais l'essayer, juste un min! – sethu

+0

La connexion est établie dans le temps, est-il possible d'ajouter un délai pour pexpect.sendline ??? – sethu

Répondre

1

Avez-vous considéré paramiko?

Voici un exemple ...

#!/usr/bin/env python 
import paramiko 

ssh = paramiko.SSHClient() 
ssh.load_system_host_keys() 

ssh.connect(hostname='example.com', port=22, username='sethu', password='****') 

ssh.exec_command('nohup sleep 300 &') 

ssh.close() 
Questions connexes