我有一个程序,它使用外部.exe接受文本文件作为命令输入。我正在拨打这样的电话:
system("xfoil.exe < create_results.txt > nul");
执行程序&#34; xfoil&#34;使用我在create_results.txt文件中写入的正确参数。
问题是有时执行没有收敛并进入无限循环,所以我需要一种方法来在超过设定时间后停止执行system()调用。
如果我没有弄错,我应该使用某种线程来做到这一点,问题是我无法改变程序,因此我无法在执行时发送信号以检查它是否已进入无限循环。我能想到的唯一方法是超时,但是我还没有找到如何执行一段时间的线程然后杀死它(在c ++中)而不会产生泄漏。
我在Windows,C ++ 11
中这样做