- Все о реестре Regedit / All about registry
- Как остановить службу Windows ? / How stop windows service ?
- Как остановить службу в Windows средствами ОС
- Как принудительно завершить процесс зависшей службы в Windows?
- Завершение зависшей службы с помощью TaskKill
- Принудительное завершение зависшей службы из PowerShell
- Анализ зависших процессов с помощью Resmon
- Process Explorer: Завершение зависшего процесса из-под SYSTEM
Все о реестре Regedit / All about registry
Как остановить службу Windows ? / How stop windows service ?
Иногда возникает необходимость остановить службу в Windows , например, если возникает подозрение, что приложение не работает из-за работы какой-либо службы.
Сегодня мы рассмотрим пример остановки службы через командную строку.
Для начала, необходимо определиться какую службу мы будет останавливать.
Нажмите Пуск, далее правой кнопкой мыши нажмите по значку Компьютер и выберите пункт Управление.
Если у вас Windows 10, то достаточно нажать правой кнопкой мышки на кнопку Пуск и выбрать пункт Управление компьютером
В окне управления компьютером выбираем Службы и ищем службу интересующую нас службу.
Рассмотрим пример отключения службы Защитник Windows . Не рекомендую отключать данную службу, если у Вас отсутствует Антивирус. Щелкните два раза на службу.
В окне описания службы мы отображено консольное название службы, а именно Windefend
Запустите командную строку сочетанием клавиш Win + R , а в окне Выполнить наберите cmd
В командной строке напишите:
net stop WinDefend
После данных действий служба должна остановиться.
Остановить службу можно и другой командой, а именно командой sc
В описании данной команды есть очень много возможностей.
Командой sc можно запускать, останавливать или запрашивать состояние служб на локальном и удаленном компьютере.
Рассмотрим пример запроса Имени службы через команду sc
На картинке показан запрос имени службы.
Командой sc query | more — мы можем отобразить список Служб на компьютере построчно.
Остановить службу на локальном компьютере можно командой:
sc stop Имя службы
При о запуске, остановке или просмотре состояния службы на удаленном компьютере можно воспользоваться командой sc.
Если вы создаете cmd файл только для локального компьютера, вполне сойдет и net .
Sometimes you need to stop a service in Windows, for example, if you suspect that an application is not running because of a service.
Today we will look at an example of stopping a service via the command line.
For a start, it is necessary to decide what service we will stop.
If you Operation system Windows 7:
Click Start button, right-click Computer, and then click Computer Management
If you have Windows 10, just right — click on the Start button and select Computer Management
In the computer control window, select the Service and look for the service we are interested in.
Consider an example of disabling the Windows Defender service. I do not recommend stop this service if you do not have an antivirus. Double-click the service.
In the service description window, we display the console name of the service, namely Windefend.
Run command prompt (Win+R buttons) in the Run window, type cmd
At the command line, type:
net stop WinDefend
After these actions, the service should stop.
You can also stop the service with another command, namely sc
There are many possibilities in the description of this command.
You can use the sc command to stop services on a remote computer or to query the status of services on a remote computer.
Command sc query |more — we can display the list of Services on the computer line by line.
You can stop the service on the local computer by using the following command
sc stop service Name you service
When you start, stop or view the status of a service on a remote computer, you can use the sc command.
If you are creating a cmd file for your local you can use the net command.
Как остановить службу в Windows средствами ОС
Здравствуйте дорогие пользователи сайта pcompstart. Данная статья является первой частью двух публикаций об остановке и удалении служб в Windows.
В данной статье хочу рассказать вам о том, как можно остановить службу в Windows через командную строку либо программу «Службы». У обычных пользователей очень и очень редко, возникает такая потребность, но всё-таки, если вы с ней столкнулись, тогда прошу подкат.
Самый простой способ остановить службу это открыть «Пуск» затем «Все приложения» после чего найти вкладку «Средства администрирования» и там выбрать программу «Службы».
После того как окно программы откроется надо найти службу, которую вы хотите остановить кликнуть по ней левой кнопкой мыши (чтобы фокус стал на неё). Затем слева вверху нажать на строку «Остановить».
Есть ещё один способ попасть в утилиту «Службы». Для этого нужно открыть окно программы «Выполнить» (горячая клавиша Win + R) и вбить туда команду services.msc , после чего нажать на «ENTER» либо на кнопку «OK». Это действие будет более актуально для более ранних версий Windows (например, Windows 7 либо 8).
Ещё можно остановить службу посредством командной строки, запущенной от имени администратора. Для этого следует выполнить команду «net stop название службы» либо «sc stop название службы «. Например, net stop MySQL или sc stop MySQL . Net и sc это разные команды но в данном случае они делают аналогичное действие.
Чтобы узнать, как правильно называется служба в окне программы «Службы» следует кликнуть на нужном названии правой кнопкой мышки и выбрать строку свойства.
В открывшемся окне рядом со строкой «Имя службы» будет требуемое наименование, которое следует выделить, скопировать в буфер обмена (горячие клавиши Ctrl + C) и вставить в нужном месте описанном выше.
Если, вы хотите просмотреть, все возможности команды sc, тогда в запущенной командной строке введите «sc» и нажмите «ENTER». После чего появиться список дополнительного описания.
К этой статье нет коментариев. Вы можете быть первым
Как принудительно завершить процесс зависшей службы в Windows?
Как завершить процесс службы Windows, зависшей в статусе stopping (остановка)? Думаю, большинство администраторов Windows, встречалось с ситуациями, когда при попытке остановить (перезапустить) службу из графического интерфейса консоли управления службами (Services.msc), служба зависает намертво и висит в статусе Stopping. После этого вы не можете остановить службу в консоли, т.к. кнопки действий службы становятся недоступными. Самый простой способ – перезагрузить сервер, но это не всегда допустимо. Рассмотрим альтернативный способ, позволяющий принудительно завершить зависшую службу или процесс без необходимости перезагрузки.
Если в течении 30 секунд после попытки остановки службы, она не останавливается, Windows выводит сообщение:
При попытке остановить такую службу командой: net stop wuauserv, появляется сообщение:
The service is starting or stopping. Please try again letter.
Завершение зависшей службы с помощью TaskKill
Наиболее простой способ завершить зависшую служу – воспользоваться утилитой taskkill. В первую очередь нужно определить PID (идентификатор процесса) нашей службы. В качестве примера возьмем службу Windows Update, ее системное имя wuauserv (имя можно посмотреть в свойствах службы в консоли services.msc).
В командной строке с правами администратора (это важно, иначе будет ошибка access denied):
sc queryex wuauserv
В данном случае PID процесса — 816.
Чтобы принудительно завершить зависший процесс с PID 816:
taskkill /PID 816 /F
SUCCESS: The process with PID 816 has been terminated.
Данная команда принудительно завершит процесс службы. В дельнейшем можно вернуться в консоль управления службами и вручную стартовать службу (или совсем удалить эту службу, если она не нужна).
«Выстрел в голову» зависшей службы можно выполнить и более элегантно, не выполняя ручное определение PID процесса. У утилиты taskkill есть параметр /FI, позволяющий использовать фильтр для выбора необходимых служб или процессов. Вы можете остановить конкретную службу командой:
TASKKILL /F /FI “SERVICES eq wuauserv”
Или можно вообще не указывать имя, службы, завершив все сервисы в зависшем состоянии с помощью команды:
taskkill /F /FI “status eq not responding”
После этого служба, зависшая в статусе Stopping должна остановиться.
Принудительное завершение зависшей службы из PowerShell
Также вы можете использовать PowerShell для принудительной остановки службы. С помощью следующей команды можно получить список служб, находящихся в состоянии Stopping:
Get-WmiObject -Class win32_service | Where-Object
Завершить процесс для всех найденных служб поможет командлет Stop-Process. Объединив обе операции в цикл, получим скрипт, автоматически завершающий все процессы подвисших служб в системе:
$Services = Get-WmiObject -Class win32_service -Filter «state = ‘stop pending'»
if ($Services) <
foreach ($service in $Services) <
try <
Stop-Process -Id $service.processid -Force -PassThru -ErrorAction Stop
>
catch <
Write-Warning -Message » Error. Error details: $_.Exception.Message»
>
>
>
else <
Write-Output «No services with ‘Stopping’.status»
>
Анализ зависших процессов с помощью Resmon
Вы можете определить процесс, из-за которого зависла служба с помощью монитора ресурсов resmon.
- В окне Монитора ресурсов перейдите на вкладку ЦП (CPU) и найдите процесс зависшей службы;
- Выберите пункт Анализ цепочки ожидания (AnalyzeWaitChain);
- В новом окне скорее всего вы увидите, что вам процесс ожидает другой процесс. Завершите его. Если выполняется ожидание системного процесса svchost.exe, завершать его не нужно. Попробуйте проанализировать цепочку ожидания для этого процесса. Найдите PID процесса, которого ожидает ваш svchost.exe и завершите его.
Process Explorer: Завершение зависшего процесса из-под SYSTEM
Некоторые процессы, запущенные из-под SYSTEM, не может завершить даже локальный администратора сервера. Дело в том, что у него просто может не быть прав на некоторые процессы или службы. Чтобы завершить такие процесс (службы), вам необходимо предоставить локальной группе Administrators права на службу (процесс), а потом завершить их. Для этого нам понадобятся две утилиты: psexec.exe и ProcessExplorer (доступны на сайте Microsoft).
- Для запуска ProcessExplorer с правами системы (SYSTEM), его нужно стартовать таким образом: PSExec -s -i ProcExp.exe
- В списке процессов Process Explorer найдите процесс зависшей службы и откройте ее свойства;
- Перейдите на вкладку Services, найдите свою службу и нажмите кнопку Permissions;
- В разрешения службы предоставьте права FullControl для группы администраторов (Administrators). Сохраните изменения;
- Теперь попробуйте завершить процесс службы.