PsExec.exe を使用して、リモート コンピューターで exe を呼び出しています。リモート コンピューターの exe は何らかのアクションを実行し、出力をコンソールに表示します。出力をリダイレクトしようとするまで、すべて正常に動作します。コードは次のとおりです。
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.FileName = "PsExec.exe";
processInfo.Arguments = "\\\\servername \"C:\\PROGRA~1\\myapp\\app.exe\"";
processInfo.RedirectStandardOutput = true;
processInfo.UseShellExecute = false;
using (Process process = Process.Start(processInfo))
{
string outPutString = process.StandardOutput.ReadToEnd();
}
行process.StandardOutput.ReadToEnd()
がハングし、何もしません。では、PsExec.exe を使用してプロセスが起動されたときに StandardOutput を読み取る方法は?