我在plink.exe上使用Process.Start在Linux机器上运行远程调用。这很有效,除非在NUnit的上下文中运行(我已经尝试过TestDriven.NET和ReSharper的单元测试运行器)。
在NUnit测试中,该过程似乎立即关闭,实际上并没有做任何事情,就像迫使它关闭一样。
以下是代码,请注意,在控制台应用程序的上下文中,它可以很好地工作。
var processStartInfo = new ProcessStartInfo();
processStartInfo.FileName = @"D:\Tools\plink\plink.exe";
processStartInfo.Arguments = "-ssh #some parameters here#;
processStartInfo.UseShellExecute = false;
processStartInfo.RedirectStandardOutput = true;
var process = new Process();
process.StartInfo = processStartInfo;
process.Start();
var output = process.StandardOutput.ReadToEnd();
答案 0 :(得分:1)
可能你忘记了:
process.WaitForExit();