Странная проблема с терминалом ядра c # .net на Macos - PullRequest
0 голосов
/ 30 декабря 2018

Когда я использую C # для выполнения встроенных команд Mac Os, таких как команда "ls", я обычно могу вернуть результат командной строки следующим образом:

string mediaInfo = "";
ProcessStartInfo start = new ProcessStartInfo("ls");
start.Arguments = "-i";
start.CreateNoWindow = false;
start.RedirectStandardOutput = true;
start.RedirectStandardInput = true;
start.UseShellExecute = false;
Process p=Process.Start(start);
StreamReader reader = p.StandardOutput;
string line = reader.ReadLine();
while (!reader.EndOfStream)
{
    line = reader.ReadLine();
    mediaInfo = line + mediaInfo;
}
p.WaitForExit();
p.Close();
reader.Close();
return mediaInfo;

Приведенный выше код может вернутьрезультат выполнения команды "ls", но когда я изменил команду "ls" на "ffmpeg", ничего не было возвращено.Код выглядит следующим образом: (я правильно установил ffmpeg и успешно выполнил его в командной строке)

string mediaInfo = "";
ProcessStartInfo start = new ProcessStartInfo("ffmpeg");
start.Arguments = "-i";
start.CreateNoWindow = false;
start.RedirectStandardOutput = true;
start.RedirectStandardInput = true;
start.UseShellExecute = false;
Process p=Process.Start(start);
StreamReader reader = p.StandardOutput;
string line = reader.ReadLine();
while (!reader.EndOfStream)
{
    line = reader.ReadLine();
    mediaInfo = line + mediaInfo;
}
p.WaitForExit();
p.Close();
reader.Close();
return mediaInfo;

Кто-нибудь знает, что это такое?Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...