Войти

Показать полную графическую версию : Отслеживание и перезапуск нескольких файлов в одной программе


iezekiil
14-02-2021, 20:10
Здравствуйте! Помогите пожалуйста написать .bat файл проверяющий запуск N файлов, например *.py, в диспетчере задач. Если хотя бы один файл закрывается, то нужно закрыть все и запустить все заново. Например, есть файлы 1.py, 2.py, 3.py, все они запускаются в одном приложении python.exe и работают бесконечно (там бесконечные циклы). Но, в случае ошибки один из них может закрыться и тогда в идеале нужно перезапустить именно этот файл, но в крайнем случае можно и просто убить все остальные и запустить их заново.

Iska
14-02-2021, 20:18
iezekiil, зачем писать сие на пакетных файлах, когда есть Python?! Из-под него организуйте и запуск скриптов, и контроль исполнения.

alpap
15-02-2021, 02:21
Если хотя бы один файл закрывается, то нужно закрыть все »
ой непросто это на cmd и ненадежно и хлопотно и затратно по нагрузке на процессор
(Мониторим калькулятор, если пропал, закроется и блокнот, если делать на большее количество процессов добавляем через & еще один taskkill /f /im "%p3%" и т.д.)

@echo off
set "p1=calc.exe"
set "p2=notepad.exe"

cmd /c for /l %%# in () do @tasklist /fi "imagename eq %p1%"^|findstr /v :^|^| (taskkill /f /im "%p2%"^& exit /b)^&^>nul timeout /t 1 /nobreak
pause




© OSzone.net 2001-2012