Перезапуск программы на питон
У меня есть программа на питоне которая запускает ~30 браузеров, спустя несколько часов работы обычно в каком-то браузере происходит непредвиденная ошибка, однако по логике моего приложения все 30 браузеров должны работать одновременно, так как моя программа крашится, я попробовал обернуть main() в try:, finally: блок и перезапускать ее через os.system("main.py"), однако тут всплыл подводный камень. В таком случае моя программа не заканчивает работу окончательно, и вместо того чтобы перезапустить 30 браузеров, оно откроет еще 30 вместе с оставшимися 29. Я пришел к выводу что мне нужно написать вторую программу которая будет следить за процессом main.py раз в минуту, и если он неактивен - перезапускать его. Заранее спасибо!
Ответы (1 шт):
Если я правильно понял, проблема в том, чтобы закрыть все браузеры сразу.
Можно завершать все процессы хрома в функции перезапуска
TARGET = "chrome.exe"
[process.kill() for process in psutil.process_iter() if process.name() == TARGET]