Остановка зависшего сервиса в Windows
Иногда при перезапуске или остановке сервиса в Windows он зависает в состоянии «Останавливается» и в стандартной консоли «Службы» ничего с ним поделать нельзя.
- При помощи cmd:
- Открываем командную строку (лучше с правами администратора)
- Узнаем PID (Process ID) сервиса:
sc queryex SERVICENAME
где SERVICENAME - имя зависшего процесса (можно посмотреть в списке сервисов). Например для сервиса очереди печати (Диспетчер печати (он же «Print spooler») имя процесса - spooler, а сервис Лицензирование удаленных рабочих столов - TermServLicensing
- Даем команду
taskkill /PID PROCESS_PID_NNN /F
где PROCESS_PID_NNN - ID процесса
- При помощи Power Shell:
get-process -ProcessName spooler | Stop-Process
На удаленном компьютере можно проделать то же самое:
tasklist /s <КОМПЬЮТЕР> /svc
taskkill /F /S <КОМПЬЮТЕР> /PID PROCESS_PID_NNN