SSH.NET real-time command output monitoring

Es ist noch ein langer script läuft script.sh auf einem remote-Linux-Maschine. Ich brauche, um es zu starten und zu überwachen Aktivität in Echtzeit. Das Skript während der Aktivität kann die Ausgabe auf stdout und stderr. Ich bin auf der Suche nach einem Weg, zu erfassen sowohl des streams.

Benutze ich Renci SSH.NET hochladen script.sh aus und starten Sie es, so wäre es toll zu sehen, eine Lösung zu begrenzt, um diese Bibliothek. In meinem Kopf die perfekte Lösung ist die neue Methode:

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();
    }
});

InformationsquelleAutor Pixar | 2015-07-23

Schreibe einen Kommentar