Bonjour à tous.
J'utilise une connection telnet pour envoyer des commandes à un environnement linux.
J'utilise les fonctions "write()" et "read_until()" pour envoyer mes commandes (exécuter des scripts) et lire les résultats.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 self.tn = telnetlib.Telnet() self.tn.open(monIP)
Seulement, parfois j'ai un script qui déconne et part en boucle infinie. J'utilise un timeout au niveau de read_until() qui fait que si je n'ai pas de réponse du script avant x secondes, j'arrête son exécution et je recommence.
Seulement je ne sais pas comment envoyer le signal "CTRL+C" pour arrêter son exécution.
Sur la doc au début, il y a les Symbolic Constants :
Doc : http://docs.python.org/library/telnetlib.htmlThe symbolic constants for the telnet commands are: IAC, DONT, DO, WONT, WILL, SE (Subnegotiation End), NOP (No Operation), DM (Data Mark), BRK (Break), IP (Interrupt process), AO (Abort output), AYT (Are You There), EC (Erase Character), EL (Erase Line), GA (Go Ahead), SB (Subnegotiation Begin).
Je suppose qu'il faut que j'envoie la commande "IP". Mais je pense que je ne peux pas l'envoyer directement avec un write() car "doubling any IAC characters".
Je pense qu'il y a un moyen tout con mais celui-ci m'échappe.
Merci d'avance pour votre aide !!
Partager