Пакетный файл для уничтожения и перезапуска не отвечающей программы

Я запускаю программу (Win7), которая иногда зависает и не отвечает.

Просто нужна ваша помощь, чтобы написать пакетный процесс, который может проверять статус программы, и если он не отвечает, закройте и снова откройте его.


person user3241320    schedule 27.01.2014    source источник
comment
проверьте это, если это поможет: stackoverflow .com/questions/18070478/   -  person donstack    schedule 27.01.2014
comment
Спасибо. Но я не знаю, как правильно написать код @echo off taskkill /im "Be2Beat.exe" /fi "STATUS eq NOT RESPONDING" "C:\Program Files (x86)\Be2Beat\Be2Beat Multimedia Platform\Be2Beat.exe" exit ) || ( exit )   -  person user3241320    schedule 27.01.2014
comment
Я хочу, чтобы пакет проверял, не отвечает ли программа, чтобы закрыть ее и запустить снова, и если она работает нормально, просто выйдите, не запуская ее снова. Спасибо   -  person user3241320    schedule 27.01.2014


Ответы (2)


Проверьте это: он должен перезапускать be2beat только тогда, когда задача не отвечает и была принудительно завершена.

@echo off 
taskkill /im "Be2Beat.exe" /fi "STATUS eq NOT RESPONDING" /f >nul && start "" "C:\Program Files (x86)\Be2Beat\Be2Beat Multimedia Platform\Be2Beat.exe"
person foxidrive    schedule 27.01.2014
comment
Спасибо!!! - Последний вопрос. Как я могу закрыть окно Cmd после выполнения пакетного файла? - person user3241320; 28.01.2014
comment
Попробуйте это с помощью команды запуска, как я показал выше. Окно приглашения cmd должно закрыться само по себе. - person foxidrive; 28.01.2014
comment
Спасибо. Единственное, что окно закрывается, если оно на самом деле открывает программу start "" "C:\Program Files (x86)\Be2Beat\Be2Beat Multimedia Platform\Be2Beat.exe", но если программа, которая уже запускает окна, не закрывается. Извините, что свел вас с ума :) ценю вашу помощь. Спасибо - person user3241320; 28.01.2014
comment
Вы нажимаете на командный файл? Он должен закрыться сам по себе, но попробуйте поставить команду exit в качестве последней строки. Если вы назвали пакетный файл taskkill, назовите его как-нибудь иначе. - person foxidrive; 28.01.2014
comment
Спасибо! Еще один момент... Как я могу добавить это действие C:\Check\Curl, если только программа не отвечает, и приложение убило ее и снова открыло? Я просто пришлю мне электронное письмо об этом действии. Большое спасибо - ценю вашу помощь - person user3241320; 28.01.2014

Это запустит его в непрерывном цикле для мониторинга.

Создать файл 2.bat

@echo off
:loop
taskkill /im "Be2Beat.exe" /fi "STATUS eq NOT RESPONDING" /f >nul && start "" "C:\Program Files (x86)\Be2Beat\Be2Beat Multimedia Platform\Be2Beat.exe"
goto loop
person Yair Yaya Tendler    schedule 07.08.2014