Назад | Перейти на главную страницу

Ограничение запросов WMIC от службы Windows

Кто-нибудь знает, есть ли ограничение на количество wmic запросы, которые Windows может обрабатывать одновременно, если они исходят из службы Windows? Причина, по которой я спрашиваю, заключается в том, что мое приложение не работает, когда было инициировано слишком много одновременных запросов. Я не получаю никаких данных из приложения.

Однако, если я скомпилирую приложение Python и запущу его как отдельное приложение, все будет работать нормально.

Вызовы wmic выглядят так:

subprocess.Popen("wmic path Win32_PerfFormattedData_PerfOS_Memory get CommittedBytes", stdout=subprocess.PIPE, stderr=subprocess.PIPE)

Это заставляет меня задаться вопросом, есть ли ограничение для служб Windows и что они могут выполнять? Я имею в виду, если .exe file может обрабатывать все запросы, тогда это должно быть связано с тем, что я скомпилировал его как службу Windows.

Update, я наконец нашел ответ на этот вопрос. Причина, по которой это происходит, заключается в том, что Windows не может писать в stdout/stderr используя службу Windows, вы можете обойти эту проблему, используя временный файл.