Supervisión de salida de comando en tiempo real SSH.NET
Hay un script de larga ejecuciónscript.sh
en una máquina remota de Linux. Necesito iniciarlo y controlar su actividad en tiempo real. El script durante su actividad puede salir astdout
ystderr
. Estoy buscando una manera de capturar ambas transmisiones.
Yo uso Renci SSH.NET para subirscript.sh
e iniciarlo, por lo que sería genial ver una solución limitada a esta biblioteca. En mi opinión, la solución perfecta es el nuevo método:
var realTimeScreen= ...;
var commandExecutionStatus = sshClient.RunCommandAsync(
command: './script.sh',
stdoutEventHandler: stdoutString => realTimeScreen.UpdateStdout(stdString)
stderrEventHandler: stderrString => realTimeScreen.UpdateStderr(stderrString));
...
commandExecutionStatus.ContinueWith(monitoringTask =>
{
if (monitoringTask.Completed)
{
realTimeScreen.Finish();
}
});