У меня есть сервер с Windows Server 2008 R2 и процесс службы (наша пользовательская служба), запущенный на нем под учетной записью SYSTEM. Предположительно служба зависла, и я хотел ее остановить. Я попытался остановить через оснастку «Службы» консоли управления, но это не помогло, процесс службы все еще запущен, несмотря на то, что в консоли управления он уже отмечен как не запущенный. Есть ли способ завершить его из командной строки? Обратите внимание, что служба запущена под учетной записью SYSTEM. У меня есть полные административные привилегии на сервере.
Я попробовал pskill
из консоли с повышенными привилегиями (как в pskill PID
), но это не помогло: система сообщила, что процесс завершен, но я все еще вижу его в диспетчере задач.
Taskkill тоже не помогает:
C:\>taskkill /f /im myservice.exe
ERROR: The process "myservice.exe" with PID 1268 could not be terminated.
Reason: There is no running instance of the task.
Но процесс все еще виден в диспетчере задач.
Обновление: Powerhell Stop-Process -Name myservice -Force
тоже не сработал.
Есть идеи, как действительно завершить процесс (кроме перезагрузки сервера)?
решение1
Скачатьpstoolsи распакуйте скачанный zip-файл. Там будет exe-файл с именем psexec.
Откройте cmd.exe/командную строку с опцией запуска от имени администратора. Там введите следующую команду. "psexec.exe /s /i cmd.exe"
Это запустит еще одно консольное окно с системным пользователем в качестве текущего пользователя. Оттуда вы можете запускать любые команды, которые хотите, с доступом системного пользователя