|
Boost Users : |
Subject: Re: [Boost-users] [process] Couple of issues
From: Sebastian Messerschmidt (sebastian.messerschmidt_at_[hidden])
Date: 2018-01-02 10:59:33
Am 02.01.2018 um 10:58 schrieb JF via Boost-users:
> Hi,
>
> 1. Use "bp::child c(bp::search_path("ping"), "127.0.0.1", "-t",
> bp::std_out > is);"
ok, that works. Thanks.
But how to pass a list of parameters? (e.g. obtained from a command line).
> 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.")
I've explicitly stated "some applications" ;-) There are certain
programs that seem to behave differently.
Cheers
Sebastian
>
> J
>
> 2018-01-02 10:15 GMT+01:00 Sebastian Messerschmidt via Boost-users
> <boost-users_at_[hidden] <mailto:boost-users_at_[hidden]>>:
>
> 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_at_[hidden] <mailto:Boost-users_at_[hidden]>
> https://lists.boost.org/mailman/listinfo.cgi/boost-users
> <https://lists.boost.org/mailman/listinfo.cgi/boost-users>
>
>
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> https://lists.boost.org/mailman/listinfo.cgi/boost-users
>
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net