WinFAQ - сайт о Windows, программах, администрировании и локальных сетях


Часто задаваемые вопросы по Windows 95/98/ME/NT/2000/XP

Руководство по выживанию для администраторов и пользователей


Как удалить зависший процесс резервирования ?

Если процесс использующий команды AT и ntbackup завис, запустите Task Manager. Если он не в состоянии убить зависший процесс из-за отсутствия полномочий, то единственно возможное решение - перезагрузить сервер.

Если выполнить ntbackup с ключом /interactive, вы должны увидеть определенное сообщение об ошибке.

А не перезагружая сервер можно запустить запустить специальную версию task manager`a, которая сможет убить процесс NTBACKUP. Для этого просто запустите task manager с задержкой в одну минуту используя команду AT. Или используйте утилиту SOON.EXE из Resource Kit :

C:\> soon 30 /interactive taskmgr

Через 30 секунд task manager будет запущен и вы сможете убить зависший NTBACKUP процесс.

Используя AT:

C:\> at [\\<computer name>] <time in future> /interactive taskmgr

Ключ \\<computer name> не является обязательным. Он запускает Task Manager на другой машине.

Следующие альтернативные методы:

Используя TLIST.EXE и KILL.EXE из Resource kit:

Запустите из командной строки:

C:\> tlist -t | more

На выходе получим:

ATSVC.EXE (315)
  CMD.EXE (345)
    NTVDM.EXE (348)
    NTBACKUP.EXE (314)

Помните, PID в каждой системе свой. И ключ -t очень важен - он определяет какой процесс является родительским.

Используйте KILL.EXE, чтобы завершить родительские процессы CMD.EXE и NTBACKUP.EXE  
C:\> kill -f 345

Убивая родительские процессы Вы НЕ убиваете процессы ими вызванные. После того как Вы убили процесс CMD.EXE, нужно убить процессы, вызванные CMD.EXE

Примечание: У вас должны быть привилегии Администратора, чтобы запустить KILL.EXE

Возможно для вас такой способ будет более удобен, чем ожидание запуска TASKMGR командой AT

Если процесс завис на удаленном сервере и Вы не можете добраться до консольной загрузки RKILLSRV.EXE на удаленной машине, использует RKILL.EXE на вашей локальной машине. Обе программы - из resource kit. Вы должны иметь Административные привилегии на локальной машине, чтобы убить процессы.

RKILL.EXE syntax...
Используйте : rkill /view \\servername
чтобы получить список запущенных процессов
Используйте : rkill /kill \\servername pid
чтобы убить зависший процесс
Используйте : rkill /token \\servername
чтобы получить remote security token



Copyright © 1999-2003 Alexander Naoumovitch, Andrew Harchenko and SavageNoName
Авторские права на оригиналы статей: Microsoft Corporation, SavillTech Ltd, Simon Clausen