如何在windows python中花费太多时间来杀死子进程子进程?

时间:2018-02-19 22:08:40

标签: python subprocess

现在我使用子进程和psutil库将我的ipython笔记本与xfoil耦合以运行一些计算。 但是,在某些情况下,xfoil无法收敛,它只是继续运行。如何在时间用完时对通信进行计时并终止进程?

import psutil as ps
from subprocess import PIPE
import time
pro = ps.Popen(['xfoil.exe'],
                stdin=PIPE,
                stdout=None,
                stderr=None,
                encoding='utf8')
#execute the script
res = pro.communicate('\n'.join(scri))

这是使用psutil与python笔记本中的xfoil进行通信的代码。

下面是我运行xfoil计算的脚本。 由于计算全部在pro.communicate()函数中运行。我不能使用time.sleep()函数,好像xfoil没有响应,它永远不会到time.sleep函数。我该如何解决这个问题?

['load backup/S813.txt',
 'S813',
 'MDES',
 'FILT',
 'EXEC',
 ' ',
 'PANE',
 'OPER',
 'ITER 150',
 'RE 300000',
 'VISC 300000',
 'PACC',
 'teste.txt',
 ' ',
 'ALFA 10.1',
 'PACC',
 ' ',
 ' ',
 ' ',
 'QUIT\n']

0 个答案:

没有答案