![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прибить SYSTEM-процесс [Win2k]
Дмитрий Баранов © (2002-08-09 12:14:00)(чего-то в общих вопросах глухо..)
В дистрибутиве CuteFTPPro есть COM-сервер ftpte.exe (обертка к SSH2). Я его вызываю Perlом, иногда он отрабатывает, а иногда по тем или иным причинам (так и не разобрался, почему) процесс виснет ( повторная попытка получить указатель на интерфейс при запуске клиента не удается ); грохнуть его через Task Manager нельзя, т.к. процесс почему-то оказывается с правами system. Спасает только перезагрузка.
Ладно, лезу в MSDN, читаю TerminateProcess, ага, нужен хэндл и соответствующие права.
Как получить хэндл? GetModuleHandle бесполезна, т.к. зависший процесс не является currently mapped к адр. пр-ству моей утилиты.
Как назначить утилите права SYSTEM (CreateProcessAsUser?)
Подскажите, пожалуйста %)
paul_shmakov (2002-08-10 17:09:00) [1]еще debug priviliges нужно своему процессу назначить для того, что работала TerminateProcess на системных процессах.
Дмитрий Баранов (2002-08-09 12:49:00) [2]Тэкс... Спасибо.
Ученик (2002-08-09 12:39:00) [3]OpenProcess это не CreateProcess
Дмитрий Баранов (2002-08-09 12:38:00) [4]> OpenProcess
Не могу я сделать OpenProcess, т.к. процесс, который мне надо завершить, уже висит в памяти, второй мне не нужен (да и не запускается он в двух экземплярах, он проверяет себя при запуске на наличие копии - вот тут и западло, вроде и висит, и копию запустить не дает).
> написать утилиту как сервис Windows NT
В идеале хотелось бы переписать клиента на Delphi и выгрузку зависшего процесса в try..except засунуть. Так что - не пойдет :)
Ученик (2002-08-09 12:19:00) [5]>Как получить хэндл?
OpenProcess
>Как назначить утилите права SYSTEM
написать утилиту как сервис Windows NT