0

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

1 に答える 1

1

あなたが忘れているかもしれません:

process.WaitForExit();
于 2012-03-30T14:56:39.513 に答える