From e3e084e3d08f8cd1ef107a3e1182d3622e8e4a21 Mon Sep 17 00:00:00 2001 From: Rodrigo Martins Date: Tue, 7 Apr 2026 20:05:42 -0300 Subject: [PATCH] =?UTF-8?q?reiniciar:=20fix=20novamente=C2=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rodrigo Martins --- src/ssh/manager.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ssh/manager.js b/src/ssh/manager.js index 256de6d..5f3c07d 100644 --- a/src/ssh/manager.js +++ b/src/ssh/manager.js @@ -832,7 +832,8 @@ class SSHManager { `onu-reset onu ${onuId}`, 'yes', 'exit', // Sai do modo interface - 'exit' // Sai do modo configuração + 'exit', // Sai do modo configuração + 'exit' // Encerra a sessão SSH ]; stream.on('data', (data) => { @@ -862,15 +863,18 @@ class SSHManager { } else if (step === 5 && dataStr.includes('(config)#')) { // De volta ao config - enviar segundo exit shouldSendCommand = true; + } else if (step === 6 && dataStr.includes('#') && !dataStr.includes('(config')) { + // Voltou ao prompt raiz - enviar exit final para encerrar sessão + shouldSendCommand = true; } - + if (shouldSendCommand) { console.log(`📝 Enviando comando ${step + 1}: ${commands[step]}`); stream.write(commands[step] + '\n'); step++; } - } else if (!isComplete && dataStr.includes('#') && !dataStr.includes('(config')) { - // Voltou ao prompt normal - operação completa + } else if (!isComplete) { + // Todos os comandos enviados - aguardar fechamento do stream isComplete = true; setTimeout(() => { stream.end();