@andrey-marun

Как в Windows через CMD убить заданный процесс в конкретное время?

Подскажите, как в Windows через CMD убить заданный процесс в конкретное время? Например в 05:00 утра.
Планировщики Windows не подходят.
Нужно что-то вроде taskkill на заданное время, чтобы каждый день в 5 утра убивало процесс.
  • Вопрос задан
  • 820 просмотров
Решения вопроса 1
@TirkinTir
С небольшим "костылированием". Проверку переменной ttt в операторе if так и писать с пробелом для времени где час отображается с одним символом.

@echo off

:loop
timeout /t 60 /nobreak
call set ttt=%time:~0,-6%
if "%ttt%"==" 5:00" (goto :time) else (goto :loop)

:time
taskkill /f /im prog.exe
goto :loop
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Странное требование, планировщик задач идеален для подобных зада, даже позволяет выводить окно интерактивно (в настройках есть чекбоксик).

Считаешь, через сколько времени в секундах будет требуемое тебе время (например через два часа - 3600*2=7200 наступит требуемое время, затем запуск раз в сутки - 3600*24=86400), и пишешь следующий cmd файл:
ping localhost -n 7200 > nul
:loop
taskkill /f /im myprog.exe
ping localhost -n 86400 > nul
goto :loop

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

Можно конечно вычислять время прямо в батнике но это такой гемор, жутко неудобный язык.

p.s. Напоминаю, во всех windows, начиная с win7, в поставке идет компилятор (поставка .net framework) c#, .net js или .net visualbasic, можно писать полноценные приложения, без среды разработки, в любимом в редакторе, компилировать их (включая GUI и работу с базами данных) в командной строке, даже при должном старании можно собрать проект, созданный в visual studio.
Лежит тут - C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ (смотри там разные версии), к сожалению майкрософт перестала поставлять новые версии компилятора (5.0 и выше) с ОС, т.е. их нужно устанавливать самостоятельно (бесплатно, но это сводит на нет весь смысл - встроено по умолчанию), похоже майкрософт сделала ставку на powershell (мое мнение - неудобный но уж точно лучше cmd).

Если что то надо, удобнее писать на этих замечательных языках программирования, а не на генераторе гемороя bat/cmd, который тянут для совместимости еще со времен DOS-а
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы