PDA

Показать полную графическую версию : Убить процесс


Serg2010
27-07-2010, 00:02
Доброго времени суток!

Программа находится на сервера, запускается на локальном компе по ярлыку. Бывает виснет (в диспетчере задач написано "не отвечает"). Пробовал завершить процесс в ДЗ, в ProcessExplorer, в Процесскиллере никто помочь не может. Пишет нет доступа. Приходится перегружать компбютер, что ну очент не удобно учитывая количество программ спаролями и медленную загрузку. Вопрос как убить этот чертов процесс любыми средствами? Да, ещё пишет про отладчик ... Его правда я отключил в реестре, но всё равно пишет ... Пользователь компа имеет на своем компе права администратора ... Система Wibdows 2000 SP4. Собственно разобраться бы почему нет доступа и можно будет убивать зависшую прогу, но не могу ... Может потому что прога на сервере? Но процесс то местный ...хз


Заранее спасибо

osp2008
27-07-2010, 12:29
Набери в командной строке taskkill /? и будет тебе счастье
taskkill /F (Завершать принудительно) /S (подключаемый удаленный компьютер иначе завершается на твоем) /IM (имя процесса) /U (домен\имя пользователя от которого завершаешь процесс) /FI "STATUS eq NOT RESPONDING" (это завершать только висящие)

а забыл /P (пароль для пользователя)

Serg2010
27-07-2010, 18:43
на 2000 винде это не работет ... пакеет како то ставить нужно кит чтоли где взять?

deepred
27-07-2010, 21:13
Serg2010,

Попробуй так (работа с wmic поддерживается в Windows 2000 Professional и Windows 2000 Server):

Echo off
Wmic Process Where Name="имя_процесса.exe" CALL Terminate

или так (обработка свойств и методов Win32_Process в WSH точно поддерживается этими ОС):

strComputer = "."
strProctarget = "имя_процесса.exe"

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = '" _
& strProctarget & "'")

For Each objProcess in colProcessList
objProcess.Terminate()
Next




© OSzone.net 2001-2012