C++ 将一个进程标准重定向到管道会改变运行结果吗?
我使用上面的代码创建了两个进程,一个是正确的,另一个是错误的。然后我更改代码C++ 将一个进程标准重定向到管道会改变运行结果吗?,c++,process,pipe,poco,C++,Process,Pipe,Poco,我使用上面的代码创建了两个进程,一个是正确的,另一个是错误的。然后我更改代码 Poco::Pipe outputPipe; Poco::Pipe errorPipe; Poco::Process::Env env; Poco::Process::Args arg; Poco::Process::launch(exeFile, arg, workDir, 0 , &outputPipe, &errorPipe, env); 唯一的区别是我没
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和stderr重定向到管道。然后我创建了两个过程,现在一切正常
在我看来,我不认为重定向stdout和stderr会导致进程以不同的结果运行。是这样吗
如果我错了,什么情况会造成不同
谢谢。至少有两种方式可以让变化有所不同:
你说得对。我读取管道的代码是错误的,因此管道填充并启动流程块。谢谢
Poco::Process::launch(exeFile, arg, workDir, 0 , 0, 0, env);