Как сделать что автоматически закрывать процесс

Добавил пользователь Alex
Обновлено: 04.10.2024

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

Как же все - таки можно завершить зависшую программу?

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

Такие программы, при своем зависании, могут также вызвать и полное зависание всей операционной системы Windows. В таких случаях потребуется полная перезагрузка компьютера. Однако, перед тем, как нажать кнопку Reset, находящуюся на передней части системного блока (её предназначение – это принудительная перезагрузка компьютера), вполне можно предпринять еще некоторые действия.

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

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

Именно поэтому следует немного подождать, для того, чтобы полностью убедиться в том, что приложение, на самом деле, не хочет отвечать. Точно также, используя комбинацию клавиш Alt+Tab, можно попробовать переключиться на любое другое, уже открытое приложение.

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

  • Windows XP – это Ctrl+Alt+Del;
  • Windows 7 и 10 – следующее сочетание Ctrl+Shift+Esc.

Завершение процесса из командной строки

Как должно быть Вам известно, процесс можно запросто завершить, выбрав соответствующий пункт в диспетчере задач. Однако, так же есть возможность завершения нужного процесса через командную строку, с помощью программы taskkill, которая идет по умолчанию с любой операционной системой Windows. Рассмотрим различные примеры применения этой программы.

Завершение процесса по его имени

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

где _ИМЯ_ПРОЦЕССА_ - это имя процесса, например calc.exe. То есть, для завершения процесса программы "Калькулятор", нужно выполнить следующую команду:

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

Еще процесс можно завершить по его идентификатору в системе - удобно, в том случае, если Вам нужно завершить какой-то определенный процесс, имя которого, к примеру, совпадает с именами других процессов. Получить PID можно выполнив команду tasklist :


Найдя нужный процесс и его PID, можно перейти к его завершению. Делается это так:

где вместо _PID_ должен быть настоящий PID процесса.

Расширенные условия фильтрации процессов

Помимо флагов /IM и /PID, которые отвечают за отбор процессов по имени и PID, соответственно, программа taskkill поддерживает множество других параметров, которые становятся доступны при использовании флага /FI:

Так же программа умеет работать со следующими операторами сравнения:

Разберем на примерах. Например, нужно закрыть процесс iexplore (наименование процесса браузера Internet Explorer) у пользователя Ivan:

Завершим все процессы пользователя Ivan:

Работа с другим компьютером

Программа taskkill так же умеет работать с другим компьютером - для этого используются три следующих флага:

  • /S - имя или адрес удаленного компьютера
  • /U - имя пользователя
  • /P - пароль пользователя

К примеру, если нужно на компьютере с адресом 192.168.100.1 "убить" процесс notepad.exe, то нужно выполнить следующую команду:

Где, как должно быть понятно 192.168.100.1 - адрес компьютера, user - имя пользователя, 12345678 - пароль.

Если эти действия нужно сделать с компьютером, который находится в одном домене с Вашим текущим пользователем, и он обладает правами администратора (например, он администратор домена), то можно выполнить выше указанную команду без указания конкретного пользователя:

Здравствуйте, помогите составить код .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

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

Узнайте, что делать, если не завершается процесс в Диспетчере задач Windows

Завершение процессов

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

Алгоритм действий

Шаг 1

Шаг 2

Диспетчер задач Windows

Отметьте опцию отображения всех процессов пользователей

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

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

Шаг 3

Шаг 4

В окне наберите слово taskkill и нажмите Enter

В окне процессы отображаются не только с указанием своего имени, но и идентификатора в том числе. Если вы желаете, вы можете набрать такую командную фразу: taskkill / PID 574, где число 574 будет являться идентификатором проблемного процесса.

Шаг 5

Новая команда taskkill

Воспользуйтесь новой командной фразой

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

Итоги

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