相关疑难解决方法(0)

SSH.NET实时命令输出监控

script.sh远程Linux机器上有一个运行时间很长的脚本.我需要启动它并实时监控它的活动.它活动期间的脚本可以输出到stdoutstderr.我正在寻找一种捕获两种流的方法.

我使用Renci SSH.NET上传script.sh并启动它,所以很高兴看到这个库有一个解决方案.在我看来,完美的解决方案是新方法:

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();
    }
});
Run Code Online (Sandbox Code Playgroud)

wpf ssh monitoring async-await ssh.net

3
推荐指数
2
解决办法
2万
查看次数

标签 统计

async-await ×1

monitoring ×1

ssh ×1

ssh.net ×1

wpf ×1