system("C:\\server.exe ine >> request.xml");
该程序将ine作为参数并将输出写入文件request.xml。程序成功将输出写入文件,但它不会关闭文件。我试过了
exit(0)
但它不会在系统(...)之后执行
看起来程序被挂起了,我必须手动关闭它。
如何以务实的方式关闭程序?
答案 0 :(得分:1)
请勿使用system
。看起来您调用的过程(C:\server.exe
)在启动后没有退出。 system
将一直挂起,直到流程退出。
相反,请考虑使用CreateProcess
和TerminateProcess
来更仔细地控制程序的生命周期。在这种情况下,您必须通过STARTUPINFO.hStdOutput手动指定输出文件,或使用所需的命令行调用cmd.exe
。
答案 1 :(得分:1)
您的问题出在C:\server.exe
。它没有正常退出。