Я работаю на Windows 8 x64 системыНагрузочный подпроцесс в python2.7
Я пишу код, в котором я использую подпроцесс, чтобы выполнить одну длинной программу во время выполнения я выборка вывода программы и анализа его выполнения, для конкретных критериев
я хочу завершить процесс, как только критерии соблюдены, я не могу сделать в программе, поэтому я хочу, чтобы завершить подпроцесс из питона
мой код выглядит примерно так
class myThread (threading.Thread):
def __init__(self, threadI....
........
.......
def run(self):
self.process= subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
for line in iter(p.stdout.readline, b''):
.........................
......Run-time Analysis........
.........................
if (criteria_met):
self.stop()
.........................
........................
def stop(self):
if self.process is not None:
self.process.terminate()
self.process = None
, но я получаю ошибку как этого
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Python27\lib\threading.py", line 551, in __bootstrap_inner
self.run()
File "VB_Extraction.py", line 57, in run
self.process.kill()
File "C:\Python27\lib\subprocess.py", line 1019, in terminate
_subprocess.TerminateProcess(self._handle, 1)
WindowsError: [Error 5] Access is denied
, что причина этой проблемы? Как я могу завершить процесс до завершения?
должен быть 'break' в' если criteria_met: 'блок. – jfs