我正在尝试设计一个使用工人进程的程序-这只是一个用C++编写的不同程序。
我像这样启动一个worker进程:
auto worker = boost::process::child("./worker.exe");
worker->detach();
问题是,辅助进程正在向它们所产生的同一命令行窗口输出信息。这会扰乱程序的输出。理想情况下,我希望每个进程都在自己的窗口中运行。
使用boost::process可以吗?我只找到了关于隐藏Windows的信息。
我正在使用Windows和Visual Studio 2019。
谢谢
1条答案
按热度按时间66bbxpm51#
正如您在Boost::process hide console on windows中看到的,您可以创建新的模式来创建进程。
CreateProcessA function system call,通过帮助创建标志,展示如何使用新控制台创建新进程:
CREATE_NEW_CONSOLE
(感谢Using multiple console windows for output)你可以像下面这样写代码
要使用它,你可以写如下