C# 从SteamCMD控制台C获取实时输出#

C# 从SteamCMD控制台C获取实时输出#,c#,process,stream,console,output,C#,Process,Stream,Console,Output,所以,主要的问题是,当它终止时,我只能通过编程从streamcmd获取输出。预期产出将是: Redirecting stderr to 'D:\User\Downloads\TF2Server\SteamCMD\logs\stderr.txt' [ 0%] ElAęrhetAĹ frissAştAęsek keresAęse... [----] TelepAştAęs hitelesAştAęse... Steam Console Client (c) Valve Corporation --

所以,主要的问题是,当它终止时,我只能通过编程从streamcmd获取输出。预期产出将是:

Redirecting stderr to 'D:\User\Downloads\TF2Server\SteamCMD\logs\stderr.txt'
[  0%] ElAęrhetAĹ frissAştAęsek keresAęse...
[----] TelepAştAęs hitelesAştAęse...
Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam3...[HTTP Remote Control] HTTP server listening on port 27037.
OK.

Connecting anonymously to Steam Public...Logged in OK
Waiting for license info...OK
 Initial App state (0x4) installed
 App state (0x20104) validating, progress: 0.00 (0 / 5380081225)
 App state (0x20104) validating, progress: 0.99 (53119962 / 5380081225)
                               [...]
 App state (0x20104) validating, progress: 92.92 (4999198384 / 5380081225)
 App state (0x20104) validating, progress: 97.35 (5237711118 / 5380081225)
Success! App '232250' already up to date.
但它只是重定向了这个文本:

Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam3...OK.

Connecting anonymously to Steam Public...Logged in OK
然后当它终止时,剩下的完全混合在一起:

 Waiting for license info...OK
 Initial App state (0x4) installed
 App state (0x20104) validating, progress: 0.02 (1048576 / 5380081225)
 App state (0x20104) validating, progress: 0.98 (52595346 / 5380081225)
                                  [...]
 App state (0x20104) validating, progress: 93.92 (5053012344 / 5380081225)
 App state (0x20104) validating, progress: 98.00 (5272580703 / 5380081225)
Success! App '232250' already up to date.
[HTTP Remote Control] HTTP server listening on port 27037.
Redirecting stderr to 'D:\User\Downloads\TF2Server\SteamCMD\logs\stderr.txt'
[  0%] Elérhető frissítések keresése...
[----] Telepítés hitelesítése...
所以我在谷歌上搜索了很多解决方案,然后我发现了这个问题:“

它说,将此添加到代码中可以解决问题:

setvbuf(stdout,(char*)NULL,_IOLBF,0)

我怎样才能在c#中做到这一点

这个问题还提到另一个(),说:

当通过Windows CreateProcess()函数启动steamcmd.exe时,会出现奇怪的行为,并且steamcmd.exe会一次又一次地自我繁殖

我有没有办法捕捉到这些过程和/或它们的输出?还有其他想法吗