小编Woo*_*ory的帖子

在C#中读取控制台命令输出时,"StandardOut尚未重定向或进程尚未启动"

感谢@ user2526830代码.基于该代码,我在程序中添加了几行,因为我想读取SSH命令的输出.下面是我的代码,它给出了一个错误while

StandardOut尚未重定向或进程尚未开始.

我想要实现的是我想将ls的输出读入字符串.

ProcessStartInfo startinfo = new ProcessStartInfo();
startinfo.FileName = @"f:\plink.exe";
startinfo.Arguments = "-ssh abc@x.x.x.x -pw abc123";
Process process = new Process();
process.StartInfo = startinfo;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardInput = true;
process.Start();
process.StandardInput.WriteLine("ls -ltr /opt/*.tmp");
process.StandardInput.WriteLine("exit");

process.StartInfo.RedirectStandardOutput = true;

while (!process.StandardOutput.EndOfStream)
{
    string line = process.StandardOutput.ReadLine();
}

process.WaitForExit();
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)

c# ssh plink

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

标签 统计

c# ×1

plink ×1

ssh ×1