Будь в курсе последних новостей из мира гаджетов и технологий
iGuides для смартфонов Apple
Как завершить зависшие программы в Windows в два клика
Егор Морозов — 19 июля 2017, 17:33
Время от времени программы в Windows по разным причинам зависают. Можно подождать, пока Windows сама не предложит завершить такую программу, но это достаточно долго. Можно зайти в диспетчер задач и искать зависшие процессы там, отключая их по одиночке, что тоже не очень быстро. Однако есть способ снять все зависшие процессы в два клика — с помощью системной команды taskkill.
Для удобства можно создать ярлык на рабочем столе, и в расположении объекта ввести taskkill /F /FI «STATUS eq NOT RESPONDING» :
Как быстро завершить все зависшие процессы Windows
Все, теперь при двойном нажатии на этом ярлыке будут автоматически завершены все зависшие программы.
Источник: www.iguides.ru
Как закрыть программу из командной строки как убить процесс из командной строки Операционные системы
Большинство компьютерных программ закрывается вполне традиционно – выбором в меню опции Exit (Quit) или нажатием крестика в верхнем правом углу окна программы. Но иногда возникает необходимость закрыть программу или «убить» какой-то процесс из командной строки.
Второй, более простой способ, связан с использованием идентификатора процесса. Например, процесс notepad.exe имеет PID 4024 (у вас он, скорее всего, будет другим). Для закрытия программы наберите в командной строке: taskkill /pid 4024, нажмите Enter. Процесс 4024, соответствующий текстовому редактору, будет «убит», «Блокнот» закроется. Подобным образом можно завершать большинство процессов, исключая критически важные системные – их операционная система завершить не позволит.
Как прервать выполнение программы из cmd?
CTRL C должен работать до тех пор, пока это командная оболочка / окно, я использую CTRL C, чтобы остановить процессы CMD и пакетные файлы, проблема в том, что иногда он спрашивает, Хотите ли вы выйти определенным образом (например: Batch = “завершить пакетное задание (Y/N)?”), затем, когда вы набираете “y”, он выходит, потому что я бы не рекомендовал это, если вы отлаживаете файл your’E C. однако я считаю, что есть программы для редактирования Привязок клавиш и / или привязки ключа certan к чему-то (например, numpad7 = windows R), я посмотрю и отредактирую это позже.
Я нашел, что это может быть полезно: http://lifehacker.com/5883003/the-best-key-remapper-for-windows я не знаю, если он будет работать, но его лучшее, что я мог найти. надеюсь, это поможет
Управление процессами из командной строки
Способов управлять процессами в Windows предостаточно, и командная строка занимает в них далеко не первое место. Однако иногда бывают ситуации, когда все остальные инструменты кроме командной строки недоступны, например некоторые вредоносные программы могут блокировать запуск Task Manager и подобных ему программ. Да и просто для общего развития полезно знать способы управления компьютером из командной строки.
:/> Что такое командная строка, как найти командную строку
Для управления процессами в командной строке есть две утилиты — tasklist и taskkill . Первая показывает список процессов на локальном или удаленном компьютере, вторая позволяет их завершить. Попробуем …
Если просто набрать команду tasklist в командной строке, то она выдаст список процессов на локальном компьютере.
По умолчанию информация выводится в виде таблицы, однако ключ /fo позволяет задать вывод в виде списка или в формате CSV, а ключ /v показывает более подробную информацию о процессах, например команда tasklist /v /fo list выведет подробное описание всех процессов в виде списка.
Список получится довольно большой, поэтому попробуем уточнить запрос. Для этого используем ключ /fi , который позволяет использовать фильтры для вывода данных, например команда tasklist /fi ″username eq user″ /fi ″memusage le 40000″ выводит список процессов пользователя user , которые потребляют не больше 40Мб памяти.
Найдя процессы, которые необходимо завершить, воспользуемся командой taskkill. Завершать процессы можно по имени, идентификатору процесса (PID) или задав условия с помощью фильтров. Для примера запустим несколько экземпляров блокнота (notepad.exe) и попробуем завершить его разными способами.
Ключ /f завершает процесс принудительно, а /t завершает все дочерние процессы.
Полную справку по командам tasklist и taskkill можно получить, введя их с ключом /?
Теперь пустим в ход тяжелую артиллерию — PowerShell . Его можно запустить не выходя из командной строки. Для получения списка процессов используем командлет Get-Process.
Чтобы не выводить весь список процессов можем воспользоваться командлетом Where-Object , который задает фильтр для выводимой информации. Для примера выведем список процессов, которые загружают процессор и отсортируем их по возрастанию нагрузки с помощью команды:
Get-Process | where | sort cpu
С помощью PowerShell мы можем получить любую информацию о любом процессе. В качестве примера возьмем процесс cmd и выведем список его свойств командой:
:/> «Подробное руководство по изменению диска по умолчанию и разрешению перемещения разделов для компьютеров и серверов под управлением Windows»
Get-Process -Name cmd | Get-Member -Membertype property
Выбираем те свойства, что нам интересны ( в примере имя и ID процесса, путь к файлу, используемые модули и время запуска) и выводим их в виде списка командой:
Get-Process -Name cmd | Format-List name, id, path, modules, starttime
Таким образом мы можем посмотреть когда и кем был запущен процесс, сколько он потребляет ресурсов, где находится исполняемый файл и еще много различной информации.
Для завершения процесса в PowerShell есть командлет Stop-Process . Он завершает указанный процесс по его имени или идентификатору. Однако мы поступим по другому и передадим результат выполнения командлета Get-Process по конвейеру:
Get-Process не может показать процессы на удаленном компьютере, для этого воспользуемся командлетом Get-WmiObject , например посмотрим процессы на удаленном компьютере PC командой:
Get-WmiObject win32_process -computername PC | ft name, processid, description
Для боле полного ознакомления с PowerShell можно воспользоваться встроенной справкой, для вызова справки нужно набрать Get-Help ″имя командлета″
Ну и для полноты обзора рассмотрим еще одно средство для управления процессами из командной строки. Это утилиты Pslist и Pskill входящие в состав пакета PSTools от компании Sysinternals.
Эти утилиты не требуют специальной установки, достаточно просто скопировать их на диск. Для запуска нужно зайти в папку с утилитами и ввести в командной строке необходимую команду.
Pslist может выводить информацию о процессах по имени или ID, например командой pslist notepad -x выведем подробную информацию о нашем «многострадальном» блокноте.
Особенностью утилиты Pslist является режим task-manager . В этом режиме информация автоматически обновляется, причем можно задать время работы и интервал обновления. Запускается режим ключом -s , например командой tasklist -s -r 10 запускаем режим программу в режиме task-manager с обновлением раз в 10 сек.
:/> Как исправить ошибку «gpedit.msc не найден» в Windows 7
Завершение процесса программой pskill предельно просто, вводим команду и имя (или ID) процесса и все.
Справку по утилитам Pslist и Pskill можно посмотреть, введя команду с ключом /?
И еще, все манипуляции с процессами необходимо выполнять с правами администратора, для этого командную строку требуется запускать с повышением привилегий.
Источник: msconfig.ru
Taskkill — завершение процесса из командной строки
В данном видео мы рассмотрим команду Taskkill, которая позволяет завершать определенные процессы из командной строки в операционной системе Windows. Но в начале, как всегда, рассмотрим, зачем это вообще может понадобиться.
На обычных рабочих станциях данная команда не особо востребована, так как можно завершить процесс через диспетчер задач. Хотя, не всегда это получается и в данной ситуации команда Taskkill пригодится, но, это скорее исключение из правил.
В основном, данная команда используется системными администраторами и лично я сталкивался со следующими ситуациями:
1) Обновление программ на терминальном сервере – при администрировании терминального сервера большое количество людей может запустить одно и тоже приложение. Но, в большинстве случаев, при обновлении программы её необходимо сначала закрыть, т.е. завершить её процесс. Если клиентов не много, то, можно воспользоваться диспетчером задач, а если их порядка 100, то это уже проблематично. А команда Taskkill позволяет убить все процессы для определенного приложения.
2) Автоматический перезапуск программы – как вы знаете не все программы работают идеально и бывает, что они подвисают. А если данная программа должна работать 24 часа в сутки и 7 дней в неделю, то приходится периодически проверять её работоспособность.
Лично я сталкивался со следующей ситуацией: есть интернет магазин, в который данные о товарах выгружаются из 1С-ки. Но, обработчик написан как-то криво, в результате чего обмен подвисает раз в сутки, а то и через каждые 2-3 часа. По этому, появилась необходимость каждый час принудительно перезапускать обработчик, не зависимо от того, подвисла программа или нет.
И так, перейдем к практике.
Запустим браузер Google Chrome и попробуем завершить его процесс (Пуск Стандартные Выполнить cmd taskkill /? — чтобы посмотреть синтаксис команды)
/s КОМПЬЮТЕР, где КОМПЬЮТЕР — это IP или адрес удаленного компьютера. По умолчанию, операция выполняется в локальной системе. Если именно это вас и интересует, данную опцию можно не использовать.
/u ДОМЕНПОЛЬЗОВАТЕЛЬ, где ДОМЕН — это имя домена, а ПОЛЬЗОВАТЕЛЬ — имя пользователя, для которого нужно выполнить команду. Данная опция позволяет запускать taskkill с правами определенной учетной записи или домена.
/p — обязательно используется в сочетании с опцией /u для указания пароля к учетной записи пользователя.
/fi — позволяет выполнять команду taskkill с определенными фильтрами.
/f — принудительно завершает выполнение команды.
/IM — позволяет использовать имя приложения вместо идентификатора процесса.
/T — завершение дерева процессов.
Теперь нам нужно узнать имя приложения, которое использует данный процесс. Это можно сделать через диспетчер задач (Ctrl+Alt+Del Запустить диспетчер задач Процессы chrome.exe).
Если у вас нет возможности запустить диспетчер задач, допустим, вы подключились к компьютеру удаленно через командную строку, то можно воспользоваться командой tasklist, она так же отображает все процессы.
Taskkill /f /im chrome.exe – принудительно завершить приложение с именем chrome.exe
Chrome завершил работу, но появились ошибки «Не удалось завершить процесс, ни один из экземпляров задания не запущен». Данное сообщение появляется из-за того, что эти процессы были связанными и когда завершил работу основной, остальные автоматически завершились.
Теперь запустим Chrome под разными пользователями, чтобы сымитировать работу терминального сервера, для этого запустим под обычным пользователем и под пользователем XP (Chrome Shift ПКМ Запустить от имени другого пользователя ОК). Теперь мы видим, что одно и тоже приложение запущено под разными пользователями, повторим команду Taskkill /f /im chrome.exe, чтобы проверить, для всех ли пользователей будет завершен процесс.
Теперь попробуем сделать автоматический перезапуск приложения, в этом нам поможет планировщик задач (Пуск Все программы Стандартные Служебные Планировщик заданий Библиотека планировщика ПКМ Создать папку Перезапуск Chrome – в зависимости от вашей цели)
Создаем задачу на запуск (Создать новую задачу Запуск Выполнять с наивысшими правами Триггер: по расписанию, ежедневно, начиная с 11:00, повторять каждый час бесконечно, включено Действия: запуск программы, chrome ОК)
Создадим задачу на завершение процесса (Создать новую задачу Завершение Выполнять с наивысшими правами Триггер: по расписанию, ежедневно, начиная с 10:59:50, повторять каждый час бесконечно, включено Действия: запуск программы, Taskkill, дополнительные аргументы: /f /im chrome.exe ОК)
Теперь запустим Chrome и подведем часы к более близкому времени, чтобы увидеть, как Хром завершит работу, а потом запустится заново.
Однако, порой требуется запретить только процесс запущенный под определенным пользователем. Именно такая ситуация у меня возникла с обработчиком 1С, который выгружал данные о товарах на сайт.
Дело в том, что, можно каждый час перезапускать зависшую 1С-ку, но, если завершать все процессы 1С, то все удаленные пользователи будут из неё вылетать, а этого нельзя допустить. По этому, нужно завершать процесс, запущенный из под определенной учетной записи.
Для этого в дополнительные аргументы добавим следующую строчку /fi “username eq station-4-7” данная команда фильтрует по имени пользователя и завершает процесс только того, чье имя совпадает с указанным в фильтре.
Запустим Chrome под другим пользователем и посмотрим, сработал ли фильтр.
Источник: sys-team-admin.ru