Hi,

1. Use "bp::child c(bp::search_path("ping"), "127.0.0.1", "-t", bp::std_out > is);"
2. I'm on Windows, Boost 1.66, VS2017 and output is generated. (With your original code: "Ping request could not find host 127.0.0.1 -t. Please check the name and try again.")

J

2018-01-02 10:15 GMT+01:00 Sebastian Messerschmidt via Boost-users <boost-users@lists.boost.org>:
Hi,

I'm using boost 1.64 on Windows7 with VisualStudio 2015 64bit.
While testing boost.process I've encountered some issues that I'm not able to resolve:

1. Passing of multiple parameters:

Consider this minimal example:

<code>
void test_sync()
{
        try
        {
                bp::ipstream is;
                bp::child c(bp::search_path("ping"), "127.0.0.1 -t", bp::std_out > is);
                std::string line;
                while (c.running() && std::getline(is, line) && !line.empty())
                {
                        std::cerr << line << std::endl;
                }
                c.wait();
        }
        catch (const std::exception& e)
        {
                std::cerr << "Error in execution: " << e.what();
        }
}
</code>

This doesn't correctly execute "ping 127.0.0.1 -t", instead it will act like "ping 127.0.0.1". I could not find an up2date example on how to pass parameters correctly. Any ideas?

2. No output on std::cout
It seems that some applications don't output to std::cout/clog/cerr but somehow via printing to console directly (my guess as it is colored output on windows)
In those instances, redirection fails. Can anyone think of a way to still monitor the output of the spawned child?

Cheers
Sebastian


_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/boost-users