Why do some cmd start block / buffer output processes when redirecting output?

Why did some processes run on the command line on my Windows machine blocks / buffer all their output, if it is redirected, while others are not?

Example: tracertdoes not block / print the buffer as it is written. If performed:

tracert ponyoverflow.com > output.txt

... the file output.txtgrows over time. This is completely, as I expect everything to behave.

But I'm trying to work with a potential vendor software product ( iSpring SDK , if you know), and it seems to buffer the full output until the process is complete. What I'm confusing is that when this software runs on the command line, the output goes in parts, in turn, as expected.

Why is there a difference in behavior between a call and a non-redirected output?

The following different questions:

  • Is this common and / or standard in the world of Windows command line programming?
  • Is there anything I can do to capture
  • How can I say for sure, in the language of a Windows programmer, for iSpring users, how do I think their software should behave on the command line?

, , 64- Windows 7 Home Premium.

+3
1

( iSpring , . . "" .)

++ . 4 . , . , stdout, , .

+1

Source: https://habr.com/ru/post/1736115/


All Articles