Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python的二进制文件超时_Python_Linux_Python 2.7 - Fatal编程技术网

使用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)

您好,我是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)
       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.