Reading into the output of a long running shellExecute

JN 666total at wp.pl
Sat Nov 10 15:54:07 UTC 2018


On Saturday, 10 November 2018 at 15:05:38 UTC, helxi wrote:
> Hi. I have not done any multi-threaded programming before. What 
> I basically want is to read into the output of a long 
> shellExecute function each second.
>
> In details, I am calling shellExecute("pkexec dd 
> if=/path/to/file of=/dev/sdx status=progress && sync");
> It's a long running process and dd command prints how many 
> bytes it has written in stdout continuously. I want to read and 
> parse this output each second. How should I proceed?

shellExecute won't work, because it waits for the process to end 
before moving on.

I believe https://dlang.org/phobos/std_process.html#pipeProcess 
should do what you want. It returns a ProcessPipes object which 
has stdout, from which you should be able to read.


More information about the Digitalmars-d-learn mailing list