Остановка процессов (командлет Stop-Process) — КиберПедия 

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Остановка процессов (командлет Stop-Process)

2022-10-28 29
Остановка процессов (командлет Stop-Process) 0.00 из 5.00 0 оценок
Заказать работу

Оболочка Windows PowerShell предоставляет различные способы получить список процессов. Каким же образом процессы можно останавливать?

Командлету Stop-Process передается имя (свойство Name) или идентификатор (Id), определяющие процесс, который требуется остановить. Возможность остановки процесса зависит от имеющихся у пользователя разрешений. Некоторые процессы не могут быть остановлены. Например, при попытке остановить процесс бездействия системы, будет получена ошибка:

PS> Stop-Process -Name Idle Stop-Process: Не удается остановить процесс 'Idle (0)' из-за следующей ошибки: Отказано в доступе В строке:1 знак:13 + Stop-Process <<<< -Name Idle

 

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

PS> Stop-Process -Name t*,e* -Confirm Подтверждение Вы действительно хотите выполнить это действие? Выполнение операции "Stop-Process" над целевым объектом "explorer (408)". [А] Да [Х] Да для всех [Н] Нет [В] Нет для всех [Т] Приостановить [?] Справка (значением по умолчанию является "А"):n Подтверждение Вы действительно хотите выполнить это действие? Выполнение операции "Stop-Process" над целевым объектом "taskmgr (4072)". [А] Да [X] Да для всех [Н] Нет [В] Нет для всех [Т] Приостановить [?] Справка (значением по умолчанию является "А"):

 

Сложные действия с процессами выполняются с помощью нескольких командлетов фильтрации объектов. У объекта Process имеется свойство Responding, принимающее значение «TRUE», если объект не реагирует на запросы. Все неотвечающие приложения можно остановить следующей командой:

Get-Process | Where-Object -FilterScript {$_.Responding -eq $false} | Stop-Process

 

Тот же подход можно использовать и в других ситуациях. Допустим, приложение вспомогательной панели задач автоматически вызывается, когда пользователь запускает другое приложение. В сеансах службы терминалов это работает неверно, но требуется, чтобы работа сеансов продолжалась на физической консоли компьютера. Сеансы, подключенные к физическому настольному компьютеру, всегда определяются идентификатором сеанса 0, поэтому все экземпляры процесса, принадлежащие другим сеансам, можно остановить с помощью командлета Where-Object и процесса SessionId:

Get-Process -Name BadApp | Where-Object -FilterScript {$_.SessionId -neq 0} | Stop-Process

 

Остановка всех других сеансов Windows PowerShell

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

У каждого сеанса Windows PowerShell имеется переменная среды, PID, в которой содержится идентификатор процесса Windows PowerShell. Значение переменной $PID можно проверить на совпадение с идентификаторами всех сеансов и завершить только те сеансы, идентификатор которого отличается от заданного. Это действие представлено следующей командой конвейера, которая возвращает список завершенных сеансов (через параметр PassThru).

PS> Get-Process -Name powershell | Where-Object -FilterScript {$_.Id -ne $PID} | Stop-Process - PassThru Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 334  9 23348 29136 143 1.03 388 powershell 304  9 23152 29040 143 1.03 632 powershell 302  9 20916 26804 143 1.03 1116 powershell 335  9 25656 31412 143 1.09 3452 powershell 303  9 23156 29044 143 1.05 3608 powershell 287  9 21044 26928 143 1.02 3672 powershell

 

Управление локальными службами

Существует восемь основных служебных командлетов, разработанных для широкого спектра служебных задач. В разделе будут рассмотрены только перечисление и измененеие состояния служб. Список остальных служебных командлетов можно получить с помощью команды Get-Help *-Service, а дополнительные сведения о каждом командлете выводятся командой Get-Help<Cmdlet-Name>, например Get-Help New-Service.

Перечисление служб

Локальные службы компьютера можно перечислить, используя командлет Get-Service. Как и в случае командлета Get-Process, использование команды Get-Service без параметров выводит все службы. Выводимые данные можно отсортировать по именам, даже при использовании звездочки (*) в качестве подстановочного знака.

PS> Get-Service -Name se* Status Name          DisplayName ------ ----          ----------- Running seclogon      Secondary Logon Running SENS          System Event Notification Stopped ServiceLayer  ServiceLayer

 

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

PS> Get-Service -DisplayName se* Status Name          DisplayName ------ ----          ----------- Running lanmanserver  Server Running SamSs         Security Accounts Manager Running seclogon      Secondary Logon Stopped ServiceLayer  ServiceLayer Running wscsvc        Security Center PS> Get-Service -DisplayName ServiceLayer,Server Status Name            DisplayName ------ ----          ----------- Running lanmanserver  Server Stopped ServiceLayer  ServiceLayer

 


Поделиться с друзьями:

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.