Запуск C# консольное приложение компилируется в визуально студии 2013 на Raspberry Pi (Linux) с установленным Mono, следующий код ...C# Mono Linux Вывод процесса
System.Diagnostics.Process syncProc = new System.Diagnostics.Process();
syncProc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
syncProc.StartInfo.UseShellExecute = false;
syncProc.StartInfo.FileName = "bash";
syncProc.StartInfo.Arguments = "-c sync --help";
syncProc.StartInfo.RedirectStandardError = true;
syncProc.StartInfo.RedirectStandardOutput = true;
syncProc.Start();
String stdOutput = syncProc.StandardOutput.ReadToEnd();
String errorOutput = syncProc.StandardError.ReadToEnd();
syncProc.WaitForExit();
if (syncProc.ExitCode == 0)
{
Console.WriteLine("SOUTPUT: " + stdOutput);
}
else
{
Console.WriteLine("EOUTPUT: " + errorOutput);
throw new Exception("Failed to sync with exit code: " + syncProc.ExitCode);
}
... выходы "SOUTPUT:"
Почему stdOutput всегда пуст?
Что выход, если вы запустите 'Баш -c синхронизации --help' из консоли самостоятельно? –
Нет выхода. Однако «sync -help» показывает: Использование: синхронизация [OPTION] Принудительное изменение блоков на диск, обновление суперблока. --Показать эту помощь и выйти - информация о версии выходных данных и выход –
Ну, есть ваш ответ: stdOutput пуст, потому что команда, которую вы выполняете, ничего не выводит. –