system("C:\\server.exe ine >> request.xml");
此程序将 ine 作为参数并将输出写入文件 request.xml。该程序成功地将输出写入文件,但没有关闭文件。我试过了
exit(0)
但它不会在 system(...) 之后执行
看起来程序挂了,我必须手动关闭它。
我怎样才能实用地关闭程序?
最佳答案
不要使用系统
。您调用的进程 (C:\server.exe
) 似乎在启动后并未退出。 system
将挂起,直到进程退出。
相反,请考虑使用 CreateProcess
和 TerminateProcess
来更仔细地控制程序的生命周期。在这种情况下,您必须通过 STARTUPINFO.hStdOutput 手动指定输出文件,或使用所需的命令行调用 cmd.exe
。
关于c++ - 打开/关闭其他 exe 文件的 Windows 系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25430003/