Как сделать через cmd запуск и завершение определенной программы по времени

Добавил пользователь Евгений Кузнецов
Обновлено: 10.09.2024

Здравствуйте.

Не многие (оказывается) знают, что Windows может автоматически запускать нужную вам программу (или открывать файл) в то время, которое вы зададите! Представьте, вы можете один раз настроить запуск BAT-файла для копирования определенного каталога (примеры таких BAT'ников приводил тут) — и это будет происходить автоматически, например, каждый вторник или среду. Удобно? Тот-то. ?

Сделать это позволяет планировщик заданий — встроенное приложение в Windows для планирования различных действий. Это достаточно функциональный инструмент, и позволяет решать многие задачи (можно серьезно облегчить себе "жизнь" и ускорить работу за ПК).

Собственно, в рамках этой заметки я хочу показать один из вариантов работы с планировщиком — поставим ему задачу запустить определенный исполняемый файл в нужное нам время.

Пример настройки планировщика заданий

? ШАГ 1

Чтобы открыть планировщик заданий — можно прибегнуть к неск. способам:

  • первый : нажать сочетание Win+R — в окне "Выполнить" ввести команду control schedtasks и нажать Enter (универсальный вариант);
  • второй : кликнуть по меню "Поиск" , ввести "планировщик. " и открыть найденный результат (актуально для Windows 11/10). ?

Поиск - планировщик заданий (Windows 11)

Поиск - планировщик заданий (Windows 11)

? ШАГ 2

Когда откроется окно планировщика заданий — обратите внимание на меню справа: в нем нам нужно кликнуть по функции "Создать задачу" . См. пример ниже. ?

Создать задачу - планировщик заданий

Создать задачу - планировщик заданий

Далее задаче нужно дать имя: я использовал "Delete trash" (удаление мусора). Имя задачи может быть любым (главное, чтобы вы могли потом сами понять, что это за задача, не открывая ее лишний раз. ?).

Для кого выполнять задачу

Для кого выполнять задачу

? ШАГ 3

Затем нужно перейти во вкладку "Триггеры" — и нажать по кнопке "создать" .

Именно здесь будет задаваться время (и условие), при котором планировщик выполнит задание (например, запустит программу/скрипт).

В своем примере я выбрал "По расписанию" : указал периодичность запуска (раз в неделю) и дни, в которые можно запускать задачу (понедельник и вторник). ?

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

Триггеры - когда выполнять задачу, расписание

Триггеры - когда выполнять задачу, расписание

Кстати, обратите внимание, что есть достаточно много вариантов, когда запускать ту или иную задачу: по расписанию, при входе в систему, при простое, при каком-то событии, и т.д. ? Можно автоматизировать свое рабочее место по максимум, создав самые разные запланированные задачи. ?

Обратите внимание, что есть много разных вариантов триггера

Обратите внимание, что есть много разных вариантов триггера

? ШАГ 4

Следующий шаг — вкладка "Действия" . В ней нам нужно указать само действие, например, "Запуск программы"* , и тот BAT- или EXE-файл (программу), которую нужно запустить (разумеется, можно также добавить необходимые аргументы // если это требуется -> см. справку к своей программе).

В своем примере я просто указал расположение нужного мне скрипта (BAT'ника).

Задаем действия

? ШАГ 5

Обратите внимание, что во вкладке "Условия" можно задать интересные функции:

  • запускать задачу при простое ПК;
  • запускать только при питании от электросети (для ноутбуков!);
  • пробуждать ПК для выполнения задачи (например, если он ушел в режим сна);
  • запускать задачу только при наличии подключения к сети.

Условия

? ШАГ 6

Во вкладке "Параметры" можно добавить еще некоторые полезные опции: выполнять ли задачу при сбое, как быстро ее останавливать, запускать ли ее повторно и пр. В своем примере я оставил все галочки, которые стояли по умолчанию.

Параметры

? ШАГ 7

После сохранении задачи — вы увидите, что она появилась в общем перечне планировщика заданий. См. мой пример ниже. ?

Наша задача теперь есть в списке!

Наша задача теперь есть в списке!

В назначенную минуту (при соблюдении заданных условий) — вы заметите, как автоматически запустится нужный вам файл. (кстати, при первичной настройке рекомендую расписание запуска настроить так, чтобы планировщик отработал при вас \\ для проверки).

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

Как посмотреть запущенные процессы через командную строку

команда tasklist

команда get-process

Обе эти команды выводят в командную строку подробную информацию о запущенных процессах, включая их названия, идентификаторы и потребляемую память.

Как завершить запущенный процесс через командную строку

  • /PID
    Завершение по идентификатору (PID);
  • /IM
    Завершение по названию (можно использовать знак подстановки *);
  • /T
    Завершение всех дочерних процессов;
  • /F
    Принудительное завершение процесса;

PID процесса

завершение процесса по PID

завершение процесса по названию

завершение процесса по названию и маске

завершение нескольких процессов



Запустить cmd и отобразить все процессы

Запустить cmd можно несколькими способами:


  1. Нажмите Win и X, запустите нужное средство от имени администратора.


  1. Напишите в поисковой строке Пуска cmd и запустите приложение cmd.exe двумя быстрыми щелчками.



Друзья, если вы справились с запуском cmd, значит, точно сможете найти через неё и убить тот самый злополучный процесс.

Увидеть программу, которая зависла, поможет команда tasklist. Её нужно написать в появившемся чёрном окошке (там, где мигает курсор), после чего нажать клавишу Enter. Способ одинаково актуален для всех версий Windows – 7, 8 и 10. Результатом этого действия будет появление списка всех запущенных на ПК процессов.


Закрыть программу

Вам остаётся только отыскать в появившемся перечне программу, создающую проблемы, и запомнить её PID (цифровой идентификатор). Чтобы было более понятно, рассмотрим пример. Я запущу в Windows 10 приложение для проведения видеоконференций, найду Zoom в перечне процессов через командную строку и покажу, как его завершить.


Кроме имени программы, вы увидите несколько столбиков значений. Соседний с названием столбец (цифры) — это PID (идентификатор), а последний – количество килобайт, которое он, работая, отнимает у системы.


В моём случае Zoom обозначился двумя процессами, завершение которых из командной строки возможно и по отдельности, и одновременно посредством команды taskkill. Кроме самой команды, понадобится ещё ввести ключ /f, а также:

  1. Атрибут IM, если мы будем использовать имя программы, тогда завершатся оба процесса. Вот как это выглядит в данном примере: taskkill /f /IM Zoom.exe (после ввода команды нужно нажать Enter).


  1. Атрибут PID, если мы будем вводить не имя, а идентификатор, чтобы убить один конкретный процесс: taskkill /f /PID.



Батник сооружается следующим образом:


  1. Откройте полученный документ двумя быстрыми щелчками впишите в него команду taskkill /F /IM zoom.exe (у меня имя zoom.exe, вы вписываете название своей проблемной утилиты).




Когда злополучная программа вновь запустится и загрузит ПК, дважды быстро щёлкните по подготовленному bat-файлу, чтобы её закрыть.

Команды для терминала в Линукс


Друзья, на этом я заканчиваю статью. Надеюсь, в ней вы найдёте что-то полезное для себя. Жду ваших вопросов и оценок моей работы в комментариях. До свидания.

Завершение процесса программы с помощью командной строки

Завершение процесса программы с помощью командной строки

Завершение зависшего приложения мы обычно выполняем, вызвав Диспетчер задач, после чего находим в списке зависшее приложение и выполняем его завершение. Этот способ использует большинство пользователей, и многих он устраивает полностью. Но бывают ситуации, когда одного Диспетчера задач для завершения процесса недостаточно. Например, вам требуется завершить не только сам процесс, но и связанные с ним другие запущенные процессы. В таком случае некоторые предпочитают установить специальные приложения, которые расширяют возможности Диспетчера задач, а некоторые предпочитают использовать командную строку. Причем с помощью командной строки можно завершать приложения не только на текущем компьютере, но и на удаленном.

Как завершить процесс с помощью командной строки

Через командную строку можно завершить дочерние процессы, для этого используют флаг /T:

Все процессы, которые были связаны с завершаемым процессом, также будут завершены, если это возможно.

Завершить процесс можно и на удаленном компьютере.

Для этого вам необходимо только знать сетевой адрес компьютера имя и пароль пользовательской учетной записи клиента. Например:

  • Здесь флаг /S указывает на компьютер (систему) с IP адресом 192.168.1.2;
  • /U задает домен и имя пользователя в сети;
  • /P ввод пароля, если флаг /P не указывать, будет выдан запрос на ввод пароля;
  • /IM задает имя образа процесса, в нашем случае – файловый менеджер (Totalcmd.exe).

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

Всё что прописано выше для большинство пользователей трудновато. Можно сделать это гораздо проще: создать ярлык, после нажатия на который будут убиватся все зависшие задачи. Далее читаем пошаговую инструкцию действий.

Здравствуйте, помогите составить код .bat файла: Запуск программы .exe происходит с помощью .bat файла Нужно что бы после завершении этой программы в процессах, она запускалась заново, как это сделать?


2 ответа 2

  • Первым делом, мы получаем с помощью команды tasklist список всех процессов, которые выполняются на компьютере.
  • Вывод данной команды перенаправляем команде findstr , которая осуществляет поиск заданного процесса по его имени. Обратите внимание, что имя процесса ( set process ) и имя исполняемого файла ( set executable ) могут не совпадать.
  • Если наш процесс ещё не запущен (не найден в выводе команды tasklist ), то происходит его запуск || start "" "%executable%" .
  • Далее идёт задержка ( timeout /t 3 /nobreak ) на 3 секунды (задаётся параметром /t) и весь цикл повторяется с начала.
  • Прервать выполнение командного файла, в данном случаи, можно нажатием Ctrl + C .


Но рекомендую попробовать сделать иначе. Зарегистрировать приложение как сервис, и штатными методами настроить перезапуск созданной службы при её остановке. А в батнике просто стартовать эту службу.


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

Связанные

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2022 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2022.1.21.41235

Читайте также: