我有一个小型应用程序,可以重定向另一个应用程序的标准输出/输入(通常是命令提示符或 Windows 的 bash)。问题是,如果连接被中断,我的进程不知道并且由于这条线它永远不会关闭:
WaitForSingleObject(childProcess.hThread, INFINITE)
我正在考虑使用这样的循环:
while(true)
{
if(ProcessIsDead(childProcess.hThread))
// close socket and exit
if(SocketIsDisocnnected(hSocket))
// close process and exit
}
我将使用哪些功能来完成此操作?对于 ProcessIsDead,我知道有一个用于获取退出代码的 winapi,但我不知道如何在不调用 recv 的情况下检查套接字是否断开(我不能这样做)