| |
|
seany
| On Tuesday, 8 June 2021 at 13:51:10 UTC, Steven Schveighoffer wrote:
> On 6/8/21 8:38 AM, seany wrote:
>> I have compiled a complex project via `dub build`.
>>
>> I used both `-b release` and `-b debug`.
>>
>> But i cant redirect the output (generated by `writeln`) to a file.
>>
>> I call by : `./executable --param p1 > a`. But execution hangs immediately. If I do `./executable --param p1 ` no issue.
>>
>> What am I doing wrong?
>>
>> thank you.
>
> Are you expecting input as well as sending output?
>
> A common behavior difference between console streams and file streams (including in D) is that when the library detects it's sending to a console, it flushes buffered output after every newline. When it's sending to a file (or other stream type), it only sends output when the buffer is full (usually about 4k bytes).
>
> The hang sounds like it has buffered up its output ready to send, and then is waiting for input to continue.
>
> -Steve
Hi
Thank you for pointing this out.
Indeed, much later in the code, there is a `readln()`.
But, the program needs to run 1-2 minutes, until it reaches that point - it is doing a complex AI calculation.
However, for these 1-2 minutes, there is no output. Not via `tee`command, also not when i do a `tail -f a` (`a` is the logfile as in my last mail). I expect the output of these 1-2 minutes, until the `readln` point to be visible via either of these to methods.
Is it still the same case as you describe?
|