Ejecute múltiples comandos dependientes individualmente con Paramiko y descubra cuándo termina cada comando

Estoy escribiendo un programa en Python que debe comunicarse a través de SSH con un objetivo físico, y enviar a este objetivo algunos comandos automáticamente (es para probar).

Comienzo haciendo esto con Paramiko y todo fue perfecto hasta que tuve que enviar varios comandos y cuando, por ejemplo, el segundo debe ejecutarse en el contexto del primero (por ejemplo, el primero hace quecd /mytargetRep y el segundo es./executeWhatIWant). No puedo usarexec_command para hacerlo, porque cadaexec_command comienza una nueva sesión.

Intento usar un canal coninvoke_shell(), pero tengo otro problema con este: no sé cuándo finaliza la ejecución del comando al hacer esto. Puedo tener una ejecución de comando muy corta (a tiempo), y algunas otras son realmente más largas, así que necesito saber cuándo finaliza la ejecución del comando.

Conozco una solución alternativa para usarexec_command con operaciones de lógica de shell como&& o usando;. Por ejemploexec_command("cd /mytargetRep && ./executeWhatIWant"). Pero no puedo hacer eso, porque también debe ser posible ejecutar algunos comandos manualmente (tengo un terminal minimalista donde puedo enviar comandos), por lo que, por ejemplo, el usuario harácd /mytargetRep luego./executeWhatIWant y nocd /mytargetRep && ./executeWhatIWant.

Así que mi pregunta es: ¿hay una solución usando Paramiko para enviar varios comandos en una misma sesión SSH y poder saber el final de la ejecución del comando?

Gracia

Respuestas a la pregunta(0)

Su respuesta a la pregunta