限制C ++中system()调用的执行时间

时间:2017-08-24 11:19:23

标签: c++ windows multithreading c++11 stdthread

我有一个程序,它使用外部.exe接受文本文件作为命令输入。我正在拨打这样的电话:

system("xfoil.exe < create_results.txt > nul");

执行程序&#34; xfoil&#34;使用我在create_results.txt文件中写入的正确参数。

问题是有时执行没有收敛并进入无限循环,所以我需要一种方法来在超过设定时间后停止执行system()调用。

如果我没有弄错,我应该使用某种线程来做到这一点,问题是我无法改变程序,因此我无法在执行时发送信号以检查它是否已进入无限循环。我能想到的唯一方法是超时,但是我还没有找到如何执行一段时间的线程然后杀死它(在c ++中)而不会产生泄漏。

我在Windows,C ++ 11

中这样做

0 个答案:

没有答案