Poco::Pipe outputPipe;
Poco::Pipe errorPipe;
Poco::Process::Env env;
Poco::Process::Args arg;
Poco::Process::launch(exeFile, arg, workDir, 0 , &outputPipe, &errorPipe, env);
Я использую вышеуказанный код для создания двух процессов, один правильный, другой неправильный. Затем я меняю кодПеренаправить один процесс stdout в трубу приведет к разности результатов выполнения?
Poco::Process::launch(exeFile, arg, workDir, 0 , 0, 0, env);
Единственная разница в том, что я не перенаправляю stdout и stderr на трубы. Затем я создаю два процесса, теперь все в порядке.
На мой взгляд, я не думаю, что перенаправление stdout и stderr приведет к запуску процесса с разными результатами. Это правильно?
Если я ошибаюсь, какая ситуация изменит ситуацию?
Спасибо.
Вы правы. Мой код, который читает трубы, ошибочен, поэтому заполняет канал и запущенный блок процесса. благодаря – leezii