Я пытаюсь выполнить скрипт python с помощью модуля подпроцесса. Работает без таймаута.Вот скрипт Python, который я использовал для запуска с подпроцессом:
sample.py
count=0
while(True):
print(count)
count+=1
Проблема в том, что sample.py выполняется бесконечно. Так что я пытаюсьустановить тайм-аут для запуска этого скрипта. Я гуглил, и некоторые из них предложили использовать функцию check_output () для получения результатов с использованием тайм-аута. Так что я изменил,
out = check_output('python3 /home/gomathi/sample.py', stderr=STDOUT, timeout=5,shell=True)
Но этоне будет работать для меня, он все еще выполняет sample.py даже после истечения времени ожидания.
Что я должен использовать для решения этой проблемы?
Python версия: 3.6.7
out=subprocess.Popen(['python3 /home/gomathi/sample.py'],stdout=subprocess.PIPE,stderr=subprocess.STDOUT,shell=True)
Затем я изменил подпроцесс на функцию check_output:
out = check_output('python3 /home/gomathi/sample.py', stderr=STDOUT, timeout=5,shell=True)
Я ожидаю, что скрипт (sample.py) долженостановите работу, как только истечет время ожидания.