10 июн. 2014 г.

Как завершить зависший процесс из консоли (cmd) Windows

У Windows есть аналог линуксовой команды kill - taskkill,  позволяющий завершить зависший "намертво" процесс, который никак нельзя завершить в графическом интерфейсе.

Для начала, необходимо узнать PID засшей службы или процесса.

Делаем это либо с помощью команды в cmd (с администраторскими правами) tasklist, либо заходим в апплет Службы, открываем свойства зависшей и смотрим её Имя:


Теперь в cmd (для Windows 2008+ - с правами Администратора) находим PID службы:

C:\Windows\system32>sc queryex nscp

SERVICE_NAME: nscp
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 544


А теперь команда для завершения процесса:

C:\>taskkill /PID 544 /F