Почему эта команда подпроцесса не имеет правильного тайм-аута? ⇐ Python

Программы на Python
Anonymous
Почему эта команда подпроцесса не имеет правильного тайм-аута?

Сообщение Anonymous »

Итак, у меня есть простой POC

Код: Выделить всё

import subprocess

proc = subprocess.run('cmd', timeout=1, shell=True, capture_output=True)
он ​​не вызывает TimeoutError после заданного интервала (в данном случае 1 секунды)
и похоже, что флаг таймаута в subprocess.run() отлично работает в Linux, но, похоже, вызывает ошибки в Windows
Например

Код: Выделить всё

import subprocess

proc = subprocess.run('ping -n 10 127.0.0.1', shell=True, capture_output=True, timeout=1)
Похоже, ошибка тайм-аута не возникает до тех пор, пока команда не завершится

Подробнее здесь: https://stackoverflow.com/questions/790 ... t-properly

Вернуться в «Python»