使用python的二进制文件超时
您好,我是python语言的新手,我想知道当二进制文件达到超时时如何停止执行,例如,一段代码不能按我所希望的那样工作使用python的二进制文件超时,python,linux,python-2.7,Python,Linux,Python 2.7,您好,我是python语言的新手,我想知道当二进制文件达到超时时如何停止执行,例如,一段代码不能按我所希望的那样工作 import os time = os.system("./test") if (time > 10): print ("timeout") else: #do other stuff 内部测试 #include <stdio.h> #include <stdlib.h> int main(void) { while(1)
import os
time = os.system("./test")
if (time > 10):
print ("timeout")
else:
#do other stuff
内部测试
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
while(1)
printf("Hello World!");
return 0;
}
#包括
#包括
内部主(空)
{
而(1)
printf(“你好,世界!”);
返回0;
}
在本例中,我希望运行test.c生成的二进制文件,并在运行二进制文件后时间达到10秒时停止执行测试。使用:
proc = subprocess.Popen(['./test'])
t = time.time()
while time.time() -t < 1:
if proc.poll() is not None:
# Do other stuff
break
else:
print 'timeout'
proc.terminate()
proc.wait()
import subprocess
proc = subprocess.Popen(['./test'])
try:
proc.wait(timeout=10)
except subprocess.TimeoutExpired:
print('timeout')
proc.terminate()
proc.wait()
else:
# Do something else.