@nikweter
Системный администратор

Как настроить задачу в планировшике?

Есть задача в планировщике - при старте системы запускать программу и повторять каждые 3 часа. В настройках стоит "Не запускать новые экземпляры" (Do not start new instance). Действие имеет вид:
C:\Windows\System32\cmd.exe /C start /WAIT /AFFINITY 2 C:\Scripts\Parser.exe


Так вот - задача каждые 3 часа запускает новый экземпляр программы. Пробовал в настройках ставить "Остановка текущего задания"(Stop the existing instance) - все равно запускается новый процесс, а старый продолжает работать.
Как сделать чтобы одновременно было запущено только одно задание?
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ответы на вопрос 3
В первой строчке батника добавить:
taskkill /f /im parser.exe
Ответ написан
Комментировать
NeiroNx
@NeiroNx
Программист
запускать C:\Scripts\Parser.exe а не cmd
Ответ написан
@res2001
Developer, ex-admin
Если этот механизм не работет, то напишите простейший батник, который вставите в задание.
Батник делает следующее:
1. проверяет наличие файла-флага (любой пустой файл, в любом доступном каталоге), если файл есть - задание уже выполняется, выходим.
2. создание файла флага
3. запуск parser.exe
4. удаление файла-флага

Минус в том, что возможны ситуации, когда задания нет, а файл-флаг останется не удаленным. В таких случаях придется удалять его в ручную ...

Другой вариант: в батнике проверять наличие запущенного процесса parser.exe, если процесса нет, то запускать. Проверять процессы можно с помощью tasklist /?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы