Иногда возникают ситуации, когда обычные средства управления операционной системой Windows дают сбои. Например, известный, пожалуй, каждому пользователю, “Диспетчер задач” вдруг отказывается запускаться. В этой ситуации можно воспользоваться консолью Windows (Пуск->Выполнить в поле “Открыть” набираем cmd и нажимаем кнопку “ОК”) Получаем чёрное окошко консоли с заголовком “С:Windowssystem32cmd.exe”, а внутри будет ссылка на профиль пользователя в ОС Windows, например “C:Documents and Settingsaeelistratov>”. Консольных команд достаточно много, и описать их в рамках одной статьи не представляется возможным. Сегодня речь пойдёт о двух командах, позволяющих управлять процессами, запущенными в системе Windows.
Первая команда – tasklist, запущенная без параметров выводит в окно консоли список запущенных процессов в системе. Полный список параметров можно получить, запустив tasklist /? (параметры передаются через знак слеш “/”, опции задаются с помощью дефиса “-“).
В заголовке списка мы увидим поля: Имя образа, PID (ProcessID), Имя сессии (актуально при работе с удалённым компьютером), № сеанса (так же для удалённой работы), Память.
Как получить список запущенных программ в командной строке
Имя образа – как правило, совпадает с именем исполняемого файла приложения, службы или процесса. Например, для блокнота имя образа будет Notepad.exe, а для MS Word – WINWORD.exe.
Варианты действий с парой команд tasklist и taskkill:
Вариант 1. Мы знаем, какое приложение является причиной зависания системы:
Например, у нас намертво повис Word. Мы знаем, что называется он winword.exe. Завершить работу зависшего word’a мы можем двумя путями: используя taskkill /PID ID Процесса>, предварительно узнав ID процесса с помощью команды tasklist или же используя tasklist с параметром /IM: tasklist /IM winword.exe.
Вариант 2. Мы не знаем, какое приложение является причиной зависания системы:
В этом варианте нам понадобятся полные сведения о процессах, запущенных в системе. Чтобы вывести полные сведения о процессах, необходимо задать параметр /V в команде tasklist. В таком варианте команда возвращает нам расширенную таблицу, с дополнительными сведениями о процессах. К пяти предыдущим колонкам добавляются ещё 4:
Статус – Имеет два возможных значения “Работает” и “Не отвечает”
Пользователь – Имя пользователя, запустившего процесс (Тут могут быть как системные пользователи вроде NT AUTHORITYSYSTEM , и пользователи , пока на этом не будем останавливаться)
Время ЦП – отображает время, затраченное процессором на обработку данного процесса (своеобразный показатель нагрузки на процессор)
В расширенном списке нас интересуют два поля – это статус и заголовок окна. По этим двум полям мы можем точно определить, какое из запущенных приложений зависло, определив его имя (образа) и Идентификатор процесса (PID). Далее, как и в первом варианте с помощью команды taskkill мы закрываем зависшее приложение.
В чём разница между применением параметра /PID и /IM?
Как посмотреть список список запущенных процессов из командной строки и как их завершить.
Когда мы снимаем процесс с помощью параметра /PID – мы даём команду, завершающую конкретный процесс по идентификатору. Когда мы используем параметр /IM – мы даём команду, завершающую ВСЕ процессы, с соответствующим именем образа.
Что ещё необходимо знать?
0. Любой инструмент требует бережного обращения.
1. Закрывая приложение, с помощью команды taskkill вы теряете все несохранённые данные приложения. А в случае применения параметра/IM – все не сохранённые данные всех копий приложения!
2. При закрытии процессов, относящихся к системным службам, Вы можете нарушить работу системы, что приведёт к её перезагрузке. Выяснить, какие процессы относятся к системным службам, можно дав команду tasklist /SVC.
Навскидку, системные процессы это svchost.exe, lsass.exe, services.exe, winlogon.exe, smss.exe, csrss.exe, spool.exe, FrameworkService.exe, их завершение может привести к перезагрузке системы и потере данных. Если Вам нужно остановить какую-либо службу, то лучше это делать через служебную консоль Windows или командой net stop, о которой пойдёт речь в одном из следующих ликбезов.
3. С помощью данных команд можно управлять процессами на удалённом компьютере в сети, но для этого у Вас должны быть соответствующие привилегии (права администратора), тогда через ключ /S можно указать имя удалённой системы. Например, tasklist /S somecomp – вернёт список процессов, запущенных на компьютере с сетевым именем somecomp, a taskkill /S somecomp /IM notepad.exe – принудительно закроет на удалённом компьютере все процессы блокнота.
Источник: 3ekc.ru
Утилиты tasklist и taskkill — работа с процессами в командной строке
Командная строка
Автор Coding На чтение 5 мин Просмотров 251 Опубликовано 15.08.2013
В этой статье мы рассмотрим две утилиты командной строки, который служат для работы с процессами, а именно, утилиту tasklist и taskkill.
Командная строка процессы, утилита tasklist
Утилита командной строки tasklist служит для вывода списка процессов Windows (пример использования: «Получение списка процессов средствами командной строки и сервера Windows Script Host«)
/s — данный ключ позволяет задать имя или же IP-адрес удаленной системы. При отсутствии ключа, информация извлекается для текущей системы.
/u [] — позволяет задать имя домена/пользователя, под разрешением учетной записи которого должна выполниться команда. При отсутствии, принимаются права текущего пользователя, того, что запустил утилиту.
/p — данный ключ актуален лишь в том случае, если прису
тствует параметр /u . Ключ задает пароль учетной записи.
/fo – тут мы можем задать формат выходных данных: TABLE – таблица, LIST – список и CSV – таблица в формате csv файла. При отсутствии ключа, данные выводятся в формате TABLE. Командная строка и процессы.
/nh – отключение вывода заголовка для столбца, ключ актуален лишь тогда, когда для параметр /fo установлены значения TABLE или CSV
/fi – данный ключ позволяет задать фильтры, по которым будет отсеиваться список выводимых процессов в командной строке. Фильтры можно указывать через запятую, в кавычках прописываем имя фильтра, оператор и значение.
- STATUS (состояние) – eq, ne — RUNNING | NOT RESPONDING
- IMAGENAME (имя образа) – eq, ne – имя процесса
- PID (ID процесса) — eq, ne, gt, lt, ge, le – значение идентификатора процесса PID
- SESSION (сеанс) — eq, ne, gt, lt, ge, le – номер сессии
- SESSIONNAME (имя сеанса) — eq, ne – имя сессии
- CPUTIME (неизвестно. ) — eq, ne, gt, lt, ge, le – время ЦП в формате hh (часы):mm (минуты):ss (секунды).
- MEMUSAGE (память) — eq, ne, gt, lt, ge, le – потребляемое значение памяти в КБ
- USERNAME (пользователь) — eq, ne – задает имя пользователя в формате [ ]
- SERVICES(службы) — eq, ne – имя службы
- WINDOWTITLE — eq, ne – название окна
- MODULES (модули) — eq, ne – название DLL библиотеки
- eq – определяет равенство заданному значению
- ne — определяет неравенство заданному значению
- gt — Больше указанного числа
- lt — Меньше указанного числа
- ge — Больше или равно указанному числу
- le — Меньше или равно указанному числу
Обратите внимание, что при указании имени фильтра, я указал рядом в круглых скобках его русское значение (при возможности). Так как в русской сборке Windows умудрились сделать перевод, и при вызове фильтра на английском, возникает ошибка CMD “ Фильтр поиска не опознан ”.
/m — присутствие данного ключа включает отображение всех процессов в командной строке, использующих заданную библиотеку (фильтр MODULES ). Не используется совместно с параметрами /svc и /v
/svc – определяет отображение служб для каждого процесса, актуален, если параметр /fo имеет значение TABLE . Не используется совместно с параметрами /m и /v
/v – включает отображение подробной информации. Не используется совместно с параметрами /svc и /m .
Командная строка процессы, утилита tasklist
Утилита taskkill позволяет завершить работу заданного процесса или группы, завершение может осуществляется по имени процесса или по его идентификатору
Фактически, значение параметров те же, что и для утилиты tasklist, кроме:
/F – задает принудительное завершение заданного процесса
/PID — тут мы можем указать идентификатор того процесса, который нужно убить.
/IM — задаем имя образа, для определения всех процессов, можно прописать символ подстановки ‘*’.
/T – если данный ключ включен, то произойдет завершение заданного процесса в командной строке и всех его дочерних.
Хорошо, как известно, для вывода справки по заданной утилите CMD, нужно прописать ее имя и параметр /?. Для направления данных в файл используется символ “>” после которого следует путь к файлу, в который будут записываться данные. Но, есть одна проблема – нужно определить правильную кодировку, иначе мы получим крякозябы. Дело в том, что некоторые утилиты уперто не хотят перенаправить данные в файл в той кодировке, которую мы прописали с помощью утилиты chcp . И поэтому, нужно писать отдельный батник.
Я не силен в командной строке, поэтому на просторах интернета нашел следующий пример:
Сохраните данный текст в файле с расширением bat и запустите, в итоге вы получите в текущем каталоге два текстовых файла, один с крякозябрами, а другой в кодировке 1251.
Источник: scriptcoding.ru
Список запущенных программ cmd
Поговорим о том, как найти и завершить (убить) приложение (процесс), используя встроенные утилиты командной строки tasklist и taskkill в ОС Windows.
Процессом в windows называют экземпляр выполняемой программы.
Просмотр запущенных процессов.
Tasklist – консольная утилита для просмотра всех процессов, выводит имя образа, PID, имя сессии, номер сеанса и объем занимаемой памяти для каждого процесса. Запустить ее можно из командной строки windows.
Для запуска командной строки windows, переходим в пункт меню: Пуск —> Выполнить —> В строку вводим команду cmd.exe.
C:WindowsSystem32>tasklist
Вывод команды tasklist.
Завершение работы процесса.
Taskkill – утилита для завершения работы процесса. Существует несколько вариантов для убийства процесса.
1. По номеру PID.
C:WindowsSystem32>taskkill /PID 6056
Вывод команды taskkill /PID 6056.
WindowsSystem32>taskkill /IM calc.exe
Вывод команды taskkill /IM calc.exe.
Дополнительную информацию по применению этих команд можно получить, используя справку.
C:>tasklist /? C:>taskkill /?
Вот и все. Рассмотрение утилит tasklist и taskkill завершено. Может кому и пригодиться.
Источник: admin-gu.ru