atesting.ru Новости Tasklisttasklist

Tasklisttasklist

Примеры использования TASKKILL.

taskkill /? > taskkill.txt – выдать справку по использованию команды в текстовый файл taskill.txt

TASKKILL /IM notepad.exe – завершить процесс, исполняемым образом которого является notepad.exe . Если таких процессов более одного – то будут завершены все.

taskkill /PID 1234 /T – завершить процесс с идентификатором 1234 и все его дочерние процессы ( /T ) . Одной командой можно завершить несколько процессов, задавая их PID – taskkill /PID 1234 /PID 2345 /PID 800 . Для определения идентификатора процессов используется команда tasklist :

tasklist | find /I “notepad” – отобразить информацию для процессов с именем, содержащим строку notepad . В ответ будет выдано сообщение, например:

notepad.exe &nbsp &nbsp &nbsp &nbsp824 Console &nbsp &nbsp &nbsp 1 &nbsp &nbsp &nbsp 3 916 КБ notepad.exe &nbsp &nbsp &nbsp3004 Console &nbsp &nbsp &nbsp 1 &nbsp &nbsp &nbsp18 812 КБ

Где 824 и 3004 – это идентификаторы процессов PID

TASKKILL /F /FI “PID ge 2000” /FI “WINDOWTITLE eq Arc*” – принудительно (/F) завершить процесс, идентификатор которого больше или равен 2000 и заголовок окна которого , начинается с текста Arc

TASKKILL /F /FI “USERNAME eq NT AUTHORITY\SYSTEM” /IM notepad.exe – принудительно завершить процесс, выполняющийся в контексте учетной записи NT AUTHORITY\SYSTEM и исполняемый файл которого имеет имя notepad.exe

TASKKILL /S 192.168.0.243 /U MyDomain\user /FI “USERNAME ne NT*” /IM * – завершить все процессы, выполняющиеся в контекстах учетных записей, не начинающихся со строки NT на компьютере с IP-адресом 192.168.0.243. При подключении к удаленной системе используется имя пользователя user в домене Mydomain . Пароль не задан и будет запрошен при выполнении команды.

TASKKILL /S SERVER /U Mydomain\User /P UserPass /FI “IMAGENAME eq note*” – завершить все процессы, имя исполняемого файла которых начинается со строки note на удаленном компьютере с именем SERVER .

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

Для использования в многопользовательской конфигурации системы, например на сервере терминалов, вместо команды TASKKILL, удобнее и безопаснее использовать команду TSKILL, адаптированную для завершения процессов в среде конкретных пользователей удаленного рабочего стола (RDP).

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой “Поделиться”

Что такое PsExec и PsTools

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

Состав PsTools:

  • PsExec используется для удалённого выполнения команд или получения шелла (оболочки) на удалённой системе
  • PsFile используется для вывода списка удалённо открытых файлов
  • PsGetSid используется для отображения идентификатора безопасности для удалённого компьютера или пользователя
  • PsInfo используется для получения подробной информации об удалённой системе
  • PsKill используется для остановки процесса в удалённой системе по имени или идентификатору
  • PsList используется для детального отображения процессов в удалённой системе
  • PsLoggedOn используется для вывода списка зарегистрированных пользователей в удалённых системах
  • PsLogList, используемый для отображения журналов событий на удалённых системах
  • PsPasswd используется для изменения заданного пароля пользователя в удалённой системе
  • PsPing используется для пинга из удалённой системы
  • PsServervice используется для перечисления и управления службами Windows в удалённой системе
  • PsShutdown используется для выключения, выхода из системы, приостановки и перезапуска удалённой системы Windows
  • PsSuspend используется для приостановки и возобновления процессов в удалённой системе Windows
  • PsUptime используется для отображения времени работы удалённой системы

Что такое процесс?

Запуск таких программ, как ваш веб-браузер, фоновые процессы, связанные с вашей рабочей средой, и системные службы Linux — все это процессы.

Вы можете объединить процессы в две группы:

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

Если процессы на переднем плане находятся перед персоналом театра и актерами, то фоновые процессы — это закулисная команда «за кадром».

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

Как убить процесс Linux?

Для передачи сигналов процессам в Linux используется утилита kill. Ее синтаксис очень прост:

$ kill -сигнал pid_процесса

Сигнал представляет собой один из выше перечисленных сигналов для завершения процесса. По умолчанию, если этот параметр не указан, используется сигнал SIGTERM, что является очень правильно. Также нам нужно указать какой процесс нужно завершить. Для этого используется уникальный идентификатор процесса — PID.

Допустим, у нас выполняется утилита ping. Мы хотим ее завершить с помощью kill. Тогда, сначала мы узнаем ее идентификатор с помощью команды ps:

В первой строчке отобразится сама утилита ping, а во второй сама программа ps. Берем нужный PID и завершаем процесс с помощью SIGTERM:

Или:

И только если после этой команды процесс продолжил висеть, а это вы можете проверить, выполнив ps. Только теперь можно выполнить SIGKILL:

Теперь снова проверяем:

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

Загрузите и замените файл taskkill.exe

Последнее решение — вручную загрузить и заменить файл taskkill.exe в соответствующей папке на диске. Выберите версию файла, совместимую с вашей операционной системой, и нажмите кнопку «Скачать». Затем перейдите в папку «Загруженные» вашего веб-браузера и скопируйте загруженный файл taskkill.exe.

Перейдите в папку, в которой должен находиться файл, и вставьте загруженный файл. Ниже приведен список путей к каталогу файлов taskkill.exe.

  • Windows 10: C:\Windows\System32\
  • Windows 8.1: C:\Windows\System32\
  • Windows 8: 1: C:\Windows\System32\
  • Windows 7: C:\Windows\System32\
  • Windows 7: C:\Windows\System32\
  • Windows Vista: —
  • Windows Vista: —
  • Windows XP: —

Если действия не помогли решить проблему с файлом taskkill.exe, обратитесь к профессионалу. Существует вероятность того, что ошибка (и) может быть связана с устройством и, следовательно, должна быть устранена на аппаратном уровне. Может потребоваться новая установка операционной системы — неправильный процесс установки системы может привести к потере данных.

Как удалить процесс Windows без Диспетчера?

Для того, чтобы удалить процесс, с которым не справляется система, существует хороший аналог без графического интерфейса. Это одна из ремонтных утилит в составе Windows под названием TaskKill. Для её запуска нам понадобится обработчик команд cmd с правами администратора.

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

taskkill /help

полностью русифицирована. Можете взглянуть. А мы приступим.

Удалить процесс какой-то конкретно можно командой

taskkill /IM имя_процесса

Например, если мы хотим удалить процесс Internet Explorer:

нажмите, чтобы увеличить

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

Так что можно запомнить команду принудительного (аварийного) закрытия процесса. С помощью этой команды можно остановить зависший проводник Windows:

taskkill /F /IM explorer.exe

Привычный интерфейс пропадёт:

и тут же ввести его снова в работу:

start explorer.exe

Кто заметил – именно добавления флага /F и удаляет дополнительную информацию из окна консоли.

Так каждому процессу присвоен свой идентификатор (в каждой сессии Windows) он свой, удалить процесс можно не по имени, а по номеру. Представим, что Диспетчер заблокирован админом или вирусом. Найти PID процесса поможет та же консоль. Откройте второе окно и наберите команду:

tasklist

Всё на виду. Но теперь команда в терминале Windows принимает вид:

taskkill /PID номер_PID

Хитрости утилиты TaskKill

С помощью этой команды можно удалить процесс, не зная его в лицо. Флаг /FI позволяет убить процесс, пожирающий большое количество памяти. Например, записав в консоли:

taskkill /FI “memusage gt ХХХХ”

Вы остановите все процессы и приложения, которые потребляют более ХХХХ килобайт оперативной памяти. Смотрите:

Кстати, если наберёте команду, указав на принудительное закрытие /F и небольшой объём памяти, скажем, 9000, это приведёт к выключению Windows.

сама консоль при мне, если честно, никогда не зависала, но утилите TaskKill подвластно и это:

taskkill /FI cmd.exe

также одним из самых применяемых флагов команды

tskill /A

Например, если у вас завис документ Word, примените команды в таком виде: вам удасться удалить процесс, запущенный во всех текущих сессиях сеанса. Эта команда применяется на тот, случай, если выхотите, чтобы следы процесса исчезли из системы полностью:

tskill /A winword.exe

утилита работает и на удалённых машинах. Она, скажем, для браузера от Mozill-ы принимает такой вид:

taskkill /s IP_адрес /u домен\имя_пользователя /IM firefox.exe

Пока всё. Успехов.

КомментарииRemarks

  • Фильтры WINDOWTITLE и состояния не поддерживаются, если указана удаленная система.The WINDOWTITLE and STATUS filters aren’t supported when a remote system is specified.

  • Подстановочный знак ( ) принимается для параметра, только если применяется фильтр.The wildcard character () is accepted for the option, only when a filter is applied.

  • Завершение удаленного процесса всегда выполняется принудительно независимо от того, задан ли параметр /f .Ending a remote process is always carried out forcefully, regardless whether the /f option is specified.

  • Указание имени компьютера для фильтра имени узла приводит к завершению работы и остановке всех процессов.Providing a computer name to the hostname filter causes a shutdown, stopping all processes.

Системные приложения для завершения процесса

В случае с Windows любой версии начиная с XP нет никаких проблем, поскольку в полном распоряжении каждого владельца компьютера с данной операционной системой находится системный диспетчер задач. Вызывать данное приложение можно нажатием комбинации «Ctrl»+«Alt»+«Del». Далее следует действовать по такому алгоритму:

  • в появившемся окне изначально открыта вкладка «Приложения», где отображаются все активные компоненты, которыми пользователь может управлять, не производя сложных манипуляций. Строка «Состояние» при этом отвечает за работоспособность приложения и информирует пользователя о неполадке, устанавливая значение «не работает» напротив определенной программы;
  • для начала необходимо попробовать воспользоваться кнопкой «Снять задачу», а в случае отсутствия реакции системы на данное действие перейти к следующему пункту. В идеале же программа должна отключиться сразу;
  • далее необходимо перейти к отключению непосредственно действующей части, отвечающей за работу приложения. Это можно произвести двумя способами: вручную отыскать нужный элемент в списке всех запущенных, который находится во вкладке «Процессы», либо нажатием ПКМ на нужном приложении открыть контекстное меню и выбрать строку «Перейти к процессу», а затем отключить его нажатием кнопки «Завершить процесс».

Завершить процесс на Mac OS

Если же рассматривать Mac OS, то все еще намного проще. Управление программами, как и всем компьютером, осуществляется через меню Apple. Для этого необходимо во время работы программы из меню Apple выбрать строку «Завершить принудительно». Если же к данному разделу доступа нет, то можно использовать комбинацию клавиш «Command»-«Option»-«ESC». Открывшееся меню является аналогом диспетчера задач в Windows.

Далее необходимо выбрать нужное нам приложение и нажать «Завершить».

Инсталлируемые диспетчеры задач

Если же стандартных средств для решения проблемы явно не хватает, то стоит прибегнуть к инсталлируемому программному обеспечению. Для Windows лучшим вариантом является «Process Explorer». Преимущество его использования в том, что он имеет более обширный функционал, чем стандартная утилита. Все действующие части распределены в иерархическом порядке таким образом, что некоторые представлены раскрывающимися списками, что означает открытие одним процессом нескольких других. Программе подвластно закрытие абсолютно любого элемента даже самого проблемного. Для того, чтобы произвести подобное действие достаточно выбрать нужный пункт и нажать «Kill Process», либо просто нажать кнопку «Del».

В случае, если одному приложению отвечает целый ряд элементов, то его закрытие наиболее эффективно можно произвести при помощи кнопки «Kill Process Tree» или комбинации «Shift»+«Del». Все составляющие закрываются одновременно, и в системе не остается следов от приложения.

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

Как запустить приложение с графическим интерфейсом на удалённой системе

Операционные системы Windows предоставляют по умолчанию графический интерфейс. PsExec можно использовать для открытия приложения с графическим интерфейсом на удалённой системе в указанной пользовательской консоли. Пользовательская консоль просто означает рабочий стол пользователя.

В этом примере мы запустим notepad.exe на удаленной системе. Пользователь удаленного системного администратора может взаимодействовать с этим блокнотом. То есть программа откроется на удалённой системе, как-либо взаимодействовать с ней на локальной системе не получится.

.\psexec \\HACKWARE-SERVER -u Администратор -p Aa1 -i notepad.exe

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

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

Команда завершения

Чтобы использовать , вы должны знать идентификатор процесса (PID) процесса, который хотите завершить. Команду можно использовать для поиска PID процесса.

Чтобы поиск по всем процессам, используйте опцию (все процессы). Желательно передавать результаты через , их будет довольно много. Введите , пробел, , пробел, (символ канала), другой пробел, а затем введите . Нажмите Enter, чтобы выполнить команду.

ps -e | less

Это даст вам список процессов, который выглядит как на скриншоте ниже. Вы можете искать вперед less используя клавишу / и вы можете искать назад, используя ? ключ.

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

ps -e | grep shutter

Найдя PID процесса, который вы хотите завершить, передайте его команде kill в качестве параметра. Чтобы завершить процесс shutter определенный предыдущей командой, используйте эту команду:

kill 2099

Команда kill является тихим убийцей — она ​​не дает никаких отзывов, если прошла успешно.

Сигналы как часть завершения процесса

Управлять процессами в ОС Linux можно с помощью специальных сигналов. Одновременно с этим, пользователь по мере необходимости завершает ненужный процесс.

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

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

Стоит отметить, что процессы в ОС «Линукс» могут реагировать не на все сигналы. Рекомендуется рассмотреть максимально подробно те, которые применяются при завершении процессов:

  • SIGINT. Этот сигнал является самым безобидным. Он будет отправлен процессу, который запущен из терминала путем сочетания клавиш «Ctrl+C». Процесс будет завершен правильно, а управление возвращается к пользователю.
  • SIGQUIT. Такой сигнал также отправляется путём сочетания клавиш, но распространяется на программу, запущенную в самом терминале. Сигнал сообщит ей, что необходимо срочное завершение. В данном случае программа корректно завершится или просто проигнорирует сигнал. Главное отличие от вышеописанного варианта – процесс сопровождается генерированием дампа памяти. Здесь используется сочетание клавиш «Ctrl+/».
  • SIGHUP. Данный сигнал сообщит определенному процессу, что соединение с терминалом управления прервано. Он отправляется не пользователем, а самой системой. Сигнал может возникнуть при закрытии доступа к интернету.
  • SIGTERM. Этот сигнал свидетельствует о немедленном завершении процессов, но обрабатывается с помощью специальных программ. Именно поэтому появляется возможность устранения всех дочерних процессов, освобождения ресурсов.
  • SIGKILL. Такой сигнал также немедленно завершает процессы. Главное отличие от предыдущего варианта – сигнал передаётся не на сам процесс, а на ядро, где в последующем обрабатывается. В этом случае ресурсы и дочерние процессы не завершаются в принудительном порядке.

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

Как включить учётную запись администратора

В моих тестах на последних Windows 10 и Windows Server 2019 команда PsExec работает только с учётной записью Администратор. Поэтому в этом разделе описано, как активировать пользователя Администратор, который по умолчанию присутствует в Windows, но в обычных, не серверных версиях, этот пользователь отключён.

Пользователя Администратор должен быть активен только на удалённом компьютере, где будут выполняться команды с помощью PsExec. На локальном компьютере учётная запись Администратор не требуется.

1. Нажмите клавиши Win+r, чтобы открыть окно запуска команды.

2. Введите lusrmgr.msc и нажмите Enter.

3. Откройте Пользователи.

4. Щёлкните правой кнопкой мыши Администратор и выберите Свойства.

5. Снимите флажок «Отключить учётную запись» и нажмите ОК.

6. Снова щёлкните правой кнопкой мыши учётную запись администратора и выберите «Задать пароль».

7. Укажите пароль для учётной записи администратора и нажмите «ОК».

Что нужно для PsExec

Для работы PsExec на удалённом компьютере не требуется никакого программного обеспечения — то есть на компьютере, которым вы будете управлять, не нужно устанавливать никакую клиентскую часть. Но нужно соблюдение некоторых условий, чтобы PsExec работала, поэтому если первая попытка не удалась, то проверьте следующие требования.

1. На обеих машинах, т.е. удалённом компьютере (которым будем управлять) и локальном компьютере (с которого будем управлять), должен быть включён общий доступ к файлам и принтерам. Для их включения смотрите статью «SMB: настройка общей сетевой папки в Windows».

2. В современных Windows 10 у меня PsExec работала только с учётной записью «Администратор», видимой по той причине, что необходимы административные общие ресурсы (подробнее о них смотрите в статье «Как включить административные общие ресурсы в ОС Windows 10, 8 или 7 (C$, D$, $admin и другие)»).

На серверах Windows учётная запись «Администратор» включена по умолчанию.

В более старых версиях Windows, видимо, достаточно включения общего сетевого ресурса $admin для предоставления доступа к папке \Windows\. В Windows 10 папки $admin как сетевого ресурса нет вовсе.

3. Проверьте, что сетевой доступ к файлам и принтерам включён в файерволе. Для этого нажмите Win+r, введите там firewall.cpl.

Во вкладке «Разрешение взаимодействия с приложениями или компонентами в брандауэре защитника Windows»

найдите «Общий доступ к файлам и принтерам» и убедитесь, что стоит галочка в столбце «Частная» — если его там нет, то нажмите кнопку «Изменить параметры», поставьте галочку и нажмите ОК.

4. Убедитесь, что оба компьютера принадлежат к одной и той же рабочей группе (Workgroup).

5. Убедитесь, что вы правильно вводите пароль администратора удалённого компьютера.

Используйте команду systeminfo для получения системной информации

В Windows есть встроенная команда для проверки конфигурации системы. Он называется systeminfo и, когда вы его запускаете, показывает длинный список информации о вашем компьютере. Откройте командную строку или PowerShell, введите и нажмите Enter.

Вы видите, что происходит? Команда systeminfo отображает список деталей о вашей операционной системе, компьютерном оборудовании и программных компонентах. Вы видите детали, такие как версия операционной системы, установленной на вашем компьютере, состояние вашей оперативной памяти или процессора, который у вас есть. Также есть некоторая информация о сети, такая как IP и MAC- адреса ваших сетевых карт.