Как перенаправить вывод Perl в C # - PullRequest
0 голосов
/ 24 февраля 2012

Я пишу программу на C # для взаимодействия со скриптом Perl.скрипт выполняет rtmpdump, и когда он действительно начинает показывать прогресс, он выдает ошибку, что система не может найти указанный файл. Ошибка Win32 GetConsoleScreenBufferInfo.Переменная console и lines не была установлена.

Вот мой код, который я использую для выполнения сценария perl:

ProcessStartInfo prc = new ProcessStartInfo("perl", "script");

                prc.UseShellExecute = false;
                prc.RedirectStandardOutput = true;
                Process process = new Process();
                process.StartInfo = prc;
                process.Start();
                process.WaitForExit();

                Console.WriteLine("DONE!");

                sb = new StringBuilder("");

                process.OutputDataReceived +=new DataReceivedEventHandler(linkHandler);

                Console.WriteLine(sb);

private static void linkHandler(object sendingProcess, DataReceivedEventArgs outline)
    {
        if (!String.IsNullOrEmpty(outline.Data)){
            sb.Append(Environment.NewLine + outline.Data);
        }
    }

, и это ошибка, которую я получаю ..: (*

Система не может найти указанный путь. Невозможно получить размер терминала. Вызов Win32 GetConsoleScreenBufferInfo не работает. Переменные среды COLUMNS и LINES не работают. Программа изменения размера не работает. На C: / strawberry /perl / vendor / lib / Term / ReadKey.pm строка 373.

1 Ответ

2 голосов
/ 24 февраля 2012

Похоже, что Perl-скрипт, который вы пытаетесь запустить, ожидает выполнения в терминале, таким образом, сбой после попытки получить настройки терминала ...

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