Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 2000/XP (http://forum.oszone.net/forumdisplay.php?f=6)
-   -   Как закрыть зависшееприложение. (http://forum.oszone.net/showthread.php?t=269350)

ZoomerJuk 05-10-2013 12:00 2228947

Как закрыть зависшееприложение.
 
Подскажите как закрыть зависшее приложение.
Использую программу для прошивки приборов, после нескольких штук или десятков прошиваний программа зависает. Завершить не могу, поэтому через несколько часов в системе висит несколько таких программ. Помогает только перезагрузка. Прошивка происходит через USB программатор, который в системе виден как COM-порт. Система ХР, СП3, чистая, со всеми обновлениями.

Диспетчер задач никак не риагирует (даже "завершить сейчас" не выдает,
taskkill выдает сообщеение "процесс с PID... успешно завершен", но приложения все висят,
перезапуск эксплорера так же не решает проблемы - другие приложения убиваются, а эти, зависшие, остаются,
в сиситемном журнале никаких ошибок.

Nordek 05-10-2013 15:37 2229024

"Ctrl + Alt + Delete (Диспетчер задач)", вкладка "Процессы"
выбери зависший процесс, нажми "Завершить процес" » "ОК"

либо


Win+R (Пуск » Выполнить), вводишь
Код:

TASKKILL /F /IM "название_процесса"
жмёшь "ОК".


Пример
Код:

TASKKILL /F /IM "notepad.exe"

ZoomerJuk 05-10-2013 15:57 2229040

Nordek, вы сообщение до конца дочитали?

Nordek 05-10-2013 16:14 2229051

Читал!
Так пробовал?
Код:

TASKKILL /F /IM "название_процесса" /IM "название_процесса"
пробуй ещё утилитой ProcessExplorer. Запусти ProcessExplorer, выбери процесс из списка, нажми клавишу(ы) Del или Shift + Del.

ZoomerJuk 05-10-2013 16:24 2229057

Цитата:

Диспетчер задач никак не риагирует (даже "завершить сейчас" не выдает,
taskkill выдает сообщеение "процесс с PID... успешно завершен", но приложения все висят,
перезапуск эксплорера так же не решает проблемы - другие приложения убиваются, а эти, зависшие, остаются

ProcessExplorer аналогично диспетчеру задач.

Nordek 05-10-2013 16:39 2229067

Цитата:

Цитата ZoomerJuk
ProcessExplorer аналогично диспетчеру задач. »

Я тоже могу приводить теории что одно аналогично другому. Конкретно, я не увидел от тебя ответа о том что ты запускал ProcessExplorer и производил какие то действия
Цитата:

Цитата Nordek
нажми клавишу(ы) Del или Shift + Del. »

Del - Завершить процесс
Shift + Del - Завершить дерево процесса.

Цитата:

Цитата ZoomerJuk
"процесс с PID... успешно завершен", но приложения все висят »

значит процесс забивается/зависит от других процессов которые могут быть запущены вместе с ним либо использоваться уже запущенные. На уровне телепатии тебе никто не поможет, не известно что у тебя там на самом деле.

Petya V4sechkin 05-10-2013 17:08 2229080

ZoomerJuk, сделайте дамп зависшего процесса в Process Explorer -> правой кнопкой мыши -> Create Dump.

ZoomerJuk 05-10-2013 17:11 2229082

Сейчас как раз это делаю и качаю Windows Debugging Tools
Сделал minidump-ы для трех экземпляров висящих приложений. Ссылка на ДропБокс.
Fulldumps в процессе заливки.

Petya V4sechkin 05-10-2013 17:31 2229097

ZoomerJuk, судя по стеку:
Код:

ntdll!KiFastSystemCallRet
ntdll!NtCreateFile+0xc
kernel32!CreateFileW+0x35f
kernel32!CreateFileA+0x30

зависание на функции CreateFile.
Цитата:

Creates or opens a file or I/O device. The most commonly used I/O devices are as follows: file, file stream, directory, physical disk, volume, console buffer, tape drive, communications resource, mailslot, and pipe.
Цитата:

Цитата ZoomerJuk
Прошивка происходит через USB программатор, который в системе виден как COM-порт

По возможности обновите драйвер этого девайса.

ZoomerJuk 05-10-2013 17:45 2229107

Вы сэкономили мне кучу времени на разборках с отладкой.
С драйверами этого устройства беда начнешь обновлять - слетает прошивка, восстановить которую можно только спец. программатором через jtag.

А как, собственно, завершить фунцию CreateFile, что б закрыть зависшие окна?

Petya V4sechkin 05-10-2013 17:56 2229117

Цитата:

Цитата ZoomerJuk
А как, собственно, завершить фунцию CreateFile, что б закрыть зависшие окна?

Так она, вероятно, к драйверу дальше обращается. Это уже на уровне ядра.
Как-то перезагрузить драйвер. Выключить/включить.

usbdrive 06-10-2013 00:13 2229294

Цитата:

Цитата ZoomerJuk
Подскажите как закрыть зависшее приложение. »

Скачайте архив, в файл PHunter.txt внесите полное название или хотя бы 3-4 первых буквы названия окна вашего зависшего приложения (учитывая регистр, если первая буква заглавная - так и печатайте). Запустите run.cmd - утилита проверяет наличие названия активного окна и через полторы секунды убивает этот процесс и его окно.
Удачи, а вдруг поможет.

P.S. Например, чтоб убить открытое окно папки "Мой компьютер", в файл PHunter.txt достаточно внести слово "Мой" (без кавычек).

PP.SS. да, совсем забыл, в утилите GMER есть функция килять процессы, даже особо упрямые http://www.gmer.net/#files , пробуйте....

ZoomerJuk 06-10-2013 10:38 2229398

Первое - ругается антивирус на троян.
Второе - не помогает.

usbdrive 06-10-2013 10:48 2229402

Цитата:

Цитата ZoomerJuk
Первое - ругается антивирус на троян. »

Ну а сам-то догадываешься, почему ?

Цитата:

Цитата ZoomerJuk
Второе - не помогает. »

Это уже грустно, я им убивал самые упрямые процессы, в т.ч. и вирусные....

З.Ы. Я бы попробовал на чистой системе сделать портабельной вашу прогу для прошивки с помощью ThinApp
читать дальше »
http://rutracker.org/forum/viewtopic.php?t=4066429
, возможно процессы будут закрываться... Удачи.

Petya V4sechkin 06-10-2013 11:15 2229414

ZoomerJuk, ну хотя бы в "Диспетчере устройств" выключить/включить?

ZoomerJuk 06-10-2013 14:04 2229503

Отключил антивирус, запустил ProgramHunter. Прождал минут 10, ничего не произошло. Решил удалить папку, выдало ошибку занятости файла. Удалил unlocker-ом. Система начала тупить - мышка и звук дергаться, загрузка ЦП 50-70. Перезагруз не помог. Применил восстановление - вроде бы все восстановилось.

Перепробовал десяток киллеров, анлокеры и пр. Окна как висели, так и весят, в лучшем случае ничего не происходило, а так даженекоторые киллеры висли (правда не наглухо).

Тут проблема серьезная, решить ее сможет только профи программер, который с системой на "ты". Все эти киллеры-эксплореры это, как правило, обёртка для системных функций, которыми обладает тот же ДЗ, ТК и пр. Т.е. если системными средствами решить не удалось - никакие утилитки не помогут.

usbdrive 06-10-2013 18:30 2229713

Цитата:

Цитата ZoomerJuk
Отключил антивирус, запустил ProgramHunter. Прождал минут 10, ничего не произошло. Решил удалить папку, выдало ошибку занятости файла. Удалил unlocker-ом. »

О господи.... зачем какой-то Unlocker ? Процесс програмхантера убивается любым самым говняным диспетчером задач....

Цитата:

Цитата ZoomerJuk
запустил ProgramHunter. Прождал минут 10, ничего не произошло. »

В файл PHunter.txt что внесли, какое слово ?

ZoomerJuk 07-10-2013 10:05 2230003

полное название

Nordek 08-10-2013 01:33 2230591

Можешь также через PE Tools глянуть что и чем занято.

ZoomerJuk 08-10-2013 02:38 2230604

Вижу список задействованых (занятых) dll. Что с ними делать?

Petya V4sechkin 08-10-2013 07:26 2230628

ZoomerJuk, можете ответить на простой вопрос?
Или это представляет для вас какие-то затруднения?

Цитата:

Цитата Petya V4sechkin
перезагрузить драйвер. Выключить/включить

Цитата:

Цитата Petya V4sechkin
хотя бы в "Диспетчере устройств" выключить/включить?

Дополнительно в Process Explorer -> свойства процесса -> вкладка Threads -> там один или два потока, на каждом нажмите кнопку Stack и покажите скриншоты (в некоторых случаях Process Explorer может видеть и kernel mode, в отличие от дампа процесса, который только user mode).

ZoomerJuk 08-10-2013 16:44 2230839

Как перезагрузить драйвер?
При работающем программаторе в системе появляется виртуальный COM-порт. При зависании - его нет.

Что именно "в "Диспетчере устройств" выключить/включить?"?

При нажатии кнопки "Stack", получается такое сообщение. Если нажать ОК, Process Explorer , резко сворачивается в панель задач.
Картинка на ДропБокс

Petya V4sechkin 08-10-2013 20:17 2230947

Цитата:

Цитата ZoomerJuk
При работающем программаторе в системе появляется виртуальный COM-порт. При зависании - его нет.

Вытащить программатор из USB-порта.
Вставить программатор в USB-порт.

ZoomerJuk 08-10-2013 21:41 2230992

На зависшие окна втыкание-вытыкание никак не влияют.
предложеный трюк с драйвером и отключением аналогично.
Я так думаю, драйвер лишь провоцирует зависание. А окна не закрываются из-за глюка какой-то функции в системе.
Простым языком говоря, такое ощущение, что сама программа закрылась, а вот окно зависло и висит само по себе, ни закрыться не может из-за того, что приложение закрылось, ни система им не может управлять из-за "оборваных" связей.

В голову пришла мысль.
Если действительно остается только окно, а само приложение закрылось (или как там умными терминами), то получается вот что.
В системе в реестре есть настройки для автозавершения программ при неответе за опрделенное время, вот их попробую отключить, может тогда система сможет управлять этими окнами.

Petya V4sechkin 08-10-2013 21:57 2231000

ZoomerJuk, на программаторе правой кнопкой мыши -> Свойства -> вкладка Драйвер -> кнопка Сведения -> покажите скриншот.

ZoomerJuk 08-10-2013 22:55 2231038

Сведения о драйвере

Petya V4sechkin 09-10-2013 08:14 2231150

ZoomerJuk, можно попробовать в командной строке (cmd.exe)
Код:

sc stop serenum
sc start serenum

Код:

sc stop umpusbvista
sc start umpusbvista


ZoomerJuk 09-10-2013 10:30 2231198

[SC] ControlService FAILED 1062:


Время: 20:13.

Время: 20:13.
© OSzone.net 2001-