gpt4 book ai didi

winapi - 使用 CreateProcess 函数启动时,cmd.exe 在某些情况下不会终止

转载 作者:行者123 更新时间:2023-12-04 05:19:10 25 4
gpt4 key购买 nike

我正在通过带有 CreateProcess 函数的 C 程序执行批处理命令。我检查进程是否已使用 GetExitCodeProcess 函数终止,方法是检查进程退出代码是否等于除 STILL_ACTIVE 之外的任何内容。这适用于像“cmd/c echo Hello World”这样的命令,但对于像“cmd/c dir c:\windows”或“cmd/c dir c:\windows & exit”这样的命令,cmd.exe 永远不会终止。通过命令提示符启动的任一命令都将按预期终止。有谁知道为什么它在通过 CreateProcess 启动时永远不会终止?非常感谢。

最佳答案

显然我必须开始读取循环中的 stdout/stderr 管道,它检查进程是否仍在运行,以及在进程终止后读取它。而不是在进程终止后阅读它。非常感谢 Wimmel 发布答案。

关于winapi - 使用 CreateProcess 函数启动时,cmd.exe 在某些情况下不会终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13866158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com