Мне нужно запрограммировать в py 2.7 функцию, которая
, когда активна, закрывает все подключения к интернету клиента (это соединение сокета сервер-клиент)
Поскольку я не могу просто сделатьклиент выключил интернет (потому что тогда мы не сможем с ним общаться)
Я подумал запустить поток.Когда он активен (когда сервер отправляет клиенту «close_internet»), поток запускает функцию true, которая закрывает все браузеры (и, таким образом, «закрывает» свое интернет-соединение).У меня будет список известных браузеров (не всех), которые поток будет активно закрывать.Эта строка кода закрывает любой процесс по имени:
import os
import threading
def close_internet():
while 1:
try:
os.system('taskkill /f /im MicrosoftEdge.exe')
except:
pass
threading.Thread(target=close_internet, args=()).start()
Когда я запускаю этот код, он работает, закрывая проводник, когда я открываю его (проводник только для тестирования, вы можете изменить на chrome.exe или firefox.exe)
Тем не менее, в консоли все время выдаются страшные ошибки:
ERROR: The process "MicrosoftEdge.exe" not found.
ERROR: The process "MicrosoftEdge.exe" not found.
ERROR: The process "MicrosoftEdge.exe" not found.
ERROR: The process "MicrosoftEdge.exe" not found.
ERROR: The process "MicrosoftEdge.exe" not found.
ERROR: The process "MicrosoftEdge.exe" not found.
Что я могу сделать?Мне нужна только эта программа для работы в фоновом режиме, чтобы пользователь не заметил этих ошибок.Ошибки появляются (что неудивительно), когда у меня нет открытого проводника.
Когда он у меня открыт, он работает нормально и печатает:
ERROR: The process "MicrosoftEdge.exe" not found.
ERROR: The process "MicrosoftEdge.exe" not found.
SUCCESS: The process "MicrosoftEdge.exe" with PID 10808 has been terminated. # <-- this line
ERROR: The process "MicrosoftEdge.exe" not found.
Функция программируется на стороне клиента!
Как это исправить?
И, во-вторых, это правильный способ закрыть процесс по его имени?это эффективно?или есть более эффективный способ закрыть процесс (может быть, использование его PID делает его быстрее ...) Я хотел бы услышать ваш совет.
Спасибо!