Вопрос: Запуск задачи во время работы приложения


Есть ли способ запустить задачу планировщика задач Windows во время работы процесса / приложения, а затем остановить эту задачу, когда приложение закрывается?

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


2
2018-01-28 08:40


Источник


Вы можете планировать процесс, чтобы каждый раз запускать каждый из них с помощью планировщика заданий и сообщать ему, что он запускается только тогда, когда выполняется другой процесс приложения, и убивать этот процесс, если этот другой процесс не запущен. Вам нужно будет проверять это каждые несколько минут или секунд, хотя в этом тоже должна быть небольшая задержка. Вы можете сделать все это с помощью командного файла. Скажите мне имя EXE, что вы хотите проверить, что работает, и имя EXE, которое вы хотите выполнить и убить, в зависимости от того, когда или когда выполняется другой процесс, и я могу отправить вам подробную информацию. - Pimp Juice IT
@ 1Fish_2Fish_RedFish_BlueFish Ну, я попробовал использовать командный файл для запуска задачи (используя schtasks), но, похоже, это не вызывает On Task Creation / Modify триггер (на котором у меня есть повторяющаяся команда), поэтому он запускается только один раз, а затем просто останавливается. - Hand of C'thuhlu
Не могли бы вы обновить свой ответ и показать, что вы пробовали с партией, чтобы я понял вашу логику? Если нет, мне нужно знать, какой процесс вы хотите проверить, работает ли или нет, и какой процесс вы хотите запустить; что означает имена EXE для запуска процессов и проверки того, что работает, или нет. Я знаю способ сделать это немного по-другому, что тоже надежно. Скажите также, что Windows вы используете это, например, Win 10, 8, 7 и т. Д.? - Pimp Juice IT


Ответы:


Я создал 2 задачи, установил первую задачу для выполнения того, что я хотел, но без триггера, а затем запустил вторую задачу при входе в систему, повторяя каждые 2 минуты для запуска командного файла.

Командный файл, который я запускал:

@echo off
tasklist /FI "IMAGENAME eq YourProcess.exe" 2>NUL | find /I /N "YourProcess.exe">NUL

if "%ERRORLEVEL%"=="0" (
  schtasks /RUN /TN "FirstTaskName">NUL
)

Это проверено, если процесс выполняется каждые 2 минуты, и если это так, запустите задачу. (Я получил код для проверки, запущен ли процесс от этот ответ)

Я также использовал bat для конвертера exe, чтобы скрыть появившееся окно cmd.


0
2018-01-28 22:10