Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Как убить процесс ?

Ответить
Настройки темы
Как убить процесс ?

Новый участник


Сообщения: 41
Благодарности: 0

Профиль | Отправить PM | Цитировать


Прелюдия.

Винда 2000. Заходим под админом.


Действие.

Запускаем процесс (например cmd) программой runas от имени пользователя имеющего разрешения на убивание процессов.
Затем запускаем программу убивания. На функции OpenProcess для Id процесса cmd винда нас посылает заковыристым ругательством ERROR_ACCESS_DENIED.
Менеджер задач винды тоже не может убить этот злосчастный cmd.


Эпилог.

HEEEEEEELP !
Есть ли управа ?

-------
типо человек


Отправлено: 14:25, 22-10-2002

 

Новый участник


Сообщения: 17
Благодарности: 1

Профиль | Отправить PM | Цитировать


У меня новая информация. Сегодня после экспериментов опять образовалось 3 зависших копии регета. Но я не стал ни на одну из них повторять команду "убить процесс". Команда шла только один раз: когда при открытии новой копии программы предлагалось убить старую - я отвечал close её. После этого я забыл про эти процессы-призраки и вспомнил о них... часов через 6, когда кончился интернет и надо было перезагружать систему: смотрю... - а нету их! Все чистенько. Но висели они от команды close до исчезновения никак не меньше 3 часов.
Самая вероятная версия: это связано с онлайном. Пока ты в онлайне, убить дорвавшийся до него регет до конца нельзя. Стоит из онлайна выйти - становится проще.
Вторая версия: если не долбить повторные команды kill, системе закончить процесс легче, и (всего через каких-то 3-4 часа...) она это сделает.
Но надо будет поэксперементировать.
Все равно странно: другие проги, вроде FlashGet или eMule, порешаются без проблем, независимо от состояния соединения.

-------
- - - ... - . -*- .. - . .. - - - .. . - ... - - ... .


Отправлено: 01:20, 30-06-2004 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


AlieNET
Всё никак не дойдут руки, не хватает времени. Некоторые общие соображения уже есть: службы+SERVICE_CONTROL_STOP+триды+NTAUTORITY/SYSTEM. Более нормальным языком пока не могу ничего объяснить

Отправлено: 09:26, 30-06-2004 | #12


Новый участник


Сообщения: 17
Благодарности: 1

Профиль | Отправить PM | Цитировать


hasherfrog
Спасибо, что вообще взялись помочь. А так мне не к спеху: все, в принципе, работает. Зависания эти мешали мне корректно закрывать винду, но если не kill'ить регеты-призраки повторно после команды close, они в конце-концов исчезают - постараюсь пока так и делать. Но узнать, почему регет так трудно прибивается было бы очень интересно.
Кстати, у регета очень хитрая интеграция с MSIE - не влияет ли она? У меня всегда включена "низкоуровневая".

А вообще регет крутейшая качалка! На днях меня выручил: удалось присосаться к одному редкому файлу, несмотря на все ява-скрипты(за счет MSIE Spy). Буду теперь 4 версию искать.

-------
- - - ... - . -*- .. - . .. - - - .. . - ... - - ... .


Отправлено: 02:15, 01-07-2004 | #13


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Цитата:
Кстати, у регета очень хитрая интеграция с MSIE - не влияет ли она?
Именно.

Отправлено: 09:04, 01-07-2004 | #14


Новый участник


Сообщения: 17
Благодарности: 1

Профиль | Отправить PM | Цитировать


hasherfrog
Поставил версию 4 регета - началось все то же самое... Сейчас поменял ZA на Outpost 2.1 Pro - глючить перестало. Интеграция по прежнему включена "низкоуровневая". Так может, дело в стенке?

-------
- - - ... - . -*- .. - . .. - - - .. . - ... - - ... .


Отправлено: 08:15, 02-07-2004 | #15


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


AlieNET
То что именно "стенка" является причиной ошибки, понятно. С самого начала, собственно Меня-то интересует вопрос о невозможности снять зависший процесс, а не причина его "зависания". Разница в работе стенок, скорее всего, вот в чём: OutPost при попытке открыть программой сокет на запрещённом порту сразу посылает её куда подальше. А ZA делает по-другому: он говорит "сейчас, сейчас", "подвешивая" соединие. Т.е. ZA постоянно возвращает EAGAIN на попытку accept'а. Или ETIMEDOUT на попытку connect'а. Очевидно, участок кода, отвечающего за соединение, находится где-то в критикал-секшион одного из многочисленных треадов, устанавливающих соедиения.  И попытка снять с выполнения такой процесс затормаживается, поскольку основнойй процесс пытается дождаться завершения вторичных (тех, что с соедиениями), а они никак не могут отлепится от ZA. Почему нет прав на вторичное снятие - потому что система уже пытается снять процесс и ждёт когда он ей скажет (так, тут туман пошёл) что он готов завершиться. И Вы снимаете уже снятие процесса, а это нельзя. Дальше сплошной туман. Интеграция в IE, взаимодействие со службами...

Ну, если Вас интересовало, как избавится от проблемы, то Вы нашли решение, отлично! Собственно, дальше можно не копать. А теория подождёт... Я по-прежнему не могу занятся reget'oм вплотную, сорри

Отправлено: 09:27, 02-07-2004 | #16


Новый участник


Сообщения: 17
Благодарности: 1

Профиль | Отправить PM | Цитировать


hasherfrog
А насколько я усугубляю ситуацию повторными попытками снятия процесса, как Вы думаете? Меня волнует: я этим завешиваю процесс сильнее или нет: просто система ждет возможности закрыть процесс и когда дождется, закроет его не менее успешно (и быстро) чем без повторных попыток?
Просто мне нравится Win2000 и не хочется думать, что от повторных попыток снятия она входит в ступор.

С регетом я понимаю - туман большой. Но мне с ним особой помощи и не надо уже, разберусь. Вы мне многое предыдушим постом своим объяснили. Спасибо.

П.С.
А ZoneAlarm-то, ушлый какой: "сейчас, сейчас..."

-------
- - - ... - . -*- .. - . .. - - - .. . - ... - - ... .


Отправлено: 05:48, 03-07-2004 | #17


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


AlieNET
Цитата:
завешиваю процесс сильнее или нет
Ненамного. Дело в том, что для окончания снятия процесса (по TerminatiProcess) система ждёт, когда процесс (все его триды) закончит все операции по вводу/выводу.
Кстати. Я тут попытася воссоздать ситуацию программно, но у меня ничего не вышло (к тому же практического значения, имхо, всё-таки маловато получается). Я ожидаю WaitSignleObject (XP, кстати, не 2к) на "подвешенном сокете, но система благополучно разрешает ситуацию. Но у меня нет ZA, а ситуацию я прсто эмулировал, поэтому и не вышло. В линуксе та же ситуация срабатывает - пока не кинут SIGKILL, я "висю" на аксепте до посинения .

Отправлено: 10:22, 05-07-2004 | #18


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Вот ещё, что я забыл проверить...
Цитата:
To prevent a thread from being terminated, you should remove the security attributes for THREAD_TERMINATE from the thread object.
Чтобы это значило? Ладно, как руки дойдут...

Отправлено: 13:33, 05-07-2004 | #19


Новый участник


Сообщения: 17
Благодарности: 1

Профиль | Отправить PM | Цитировать


hasherfrog
Самая приятная новость - что Вин2К не виновата(на днях впервые увидел, как система сама выгрузила "дважды убитый" зависший сетевой процесс. Раньше я думал, что она на это не способна).
Не утешает сложность вопроса, особенно что касается таких вот хитросплетений триад системных + сетевых процессов, ч.з. куда интегрированного MSIE, стенки вроде ZA... Устаю я от этих разбирательств - потому что не понимаю общих принципов работы оси пока...

-------
- - - ... - . -*- .. - . .. - - - .. . - ... - - ... .


Отправлено: 09:01, 07-07-2004 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Как убить процесс ?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] убить процесс - среди одинаковых foxbat Скриптовые языки администрирования Windows 2 04-08-2009 16:06
help! не могу сообразить как убить процесс zl3p Программирование в *nix 2 05-02-2007 22:10
Зависший процесс на W2K3. Как убить без перезагрузки? brzl Microsoft Windows NT/2000/2003 6 08-01-2007 15:49
Delphi - Убить процесс на Delphi btx Программирование и базы данных 1 18-03-2005 12:43
Убить зависший процесс vippy Microsoft Windows NT/2000/2003 8 02-04-2004 07:32




 
Переход