5

Существует ли инструмент, который постоянно проверяет, запущен ли другой процесс, и если нет, запускает его? Для Windows 7-10.

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

2 ответа2

4

Используя информацию из этого вопроса о переполнении стека, вы можете создать файл .bat следующим образом (я использовал Powerpoint в качестве примера):

tasklist /FI "IMAGENAME eq POWERPNT.EXE" 2>NUL | find /I /N "POWERPNT.EXE">NUL
if NOT "%ERRORLEVEL%" == "0" start "" "C:\Program Files\Microsoft Office\root\Office16\POWERPNT.EXE"

Затем вы можете либо создать запланированное задание, чтобы запускать его каждую минуту, либо сколь угодно долго вы можете обходиться без запуска процесса.

Кроме того, вы можете запустить приложение в бесконечном цикле:

@echo off
:1
"C:\Program Files\Microsoft Office\root\Office16\POWERPNT.EXE"
goto :1

Это снова откроет программу, как только она закроется.

4

Это одна из вещей, которую вы можете сделать с AutoIt.

Создайте небольшой скрипт, который периодически выполняет проверку. Что-то простое, как ...

While True  
  If (ProcessExists("prog.exe") = 0) Then  
    Run("prog.exe")  
  EndIf  
  Sleep(1000)  
Wend

...или даже...

While True  
  RunWait("prog.exe")  
Wend

... или более сложный, если хотите.

Скрипт может быть скомпилирован в исполняемый файл и работать в фоновом режиме.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .