Как завершить процесс dll

Обновлено: 03.07.2024

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

Как же все - таки можно завершить зависшую программу?

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

Такие программы, при своем зависании, могут также вызвать и полное зависание всей операционной системы Windows. В таких случаях потребуется полная перезагрузка компьютера. Однако, перед тем, как нажать кнопку Reset, находящуюся на передней части системного блока (её предназначение – это принудительная перезагрузка компьютера), вполне можно предпринять еще некоторые действия.

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

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

Именно поэтому следует немного подождать, для того, чтобы полностью убедиться в том, что приложение, на самом деле, не хочет отвечать. Точно также, используя комбинацию клавиш Alt+Tab, можно попробовать переключиться на любое другое, уже открытое приложение.

В тех случаях, если программа продолжает оставаться зависшей, можно воспользоваться Диспетчером задач, вызывается который следующим сочетанием клавиш:

  • Windows XP – это Ctrl+Alt+Del;
  • Windows 7 и 10 – следующее сочетание Ctrl+Shift+Esc.

После чего выбираем вкладку – «Процессы» – после чего, в списке уже запущенных приложений находим программу, которая зависла. При этом, для большей уверенности, следует обратить особое внимание на столбец – «Состояние».

Снять задачу с программы, которая у вас зависла, можно кликом мышки, выделяя задачу и нажимаем кнопку – «Снять задачу», см. скриншот.

Пользователям персональных компьютеров приходится сталкиваться с разными проблемными ситуациями, решить которые иногда затруднительно самостоятельно. Однако, обнаружив ответ на проблемный вопрос, в следующий раз такие задачи уже не кажутся сложными. Завершить процесс, в котором уже нет необходимости, в большинстве случаев может даже новичок. К сожалению, иногда приходится сталкиваться с тем, что, какие бы попытки ни были предприняты, не завершается всё равно процесс в диспетчере задач.

Узнайте, что делать, если не завершается процесс в Диспетчере задач Windows

Что же делать, когда какой-то процесс «взбунтовался» и не желает подчиниться, как всё-таки осуществить его завершение, можно узнать, если ознакомиться с нашими рекомендациями. Мы поделимся нехитрыми способами, поможем вам овладеть навыками управления всеми процессами, которые запущены на вашем компьютере.

Завершение процессов

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

Конечно, если не увлечься открыванием новых приложений, то с проблемой зависания компьютера удастся сталкиваться реже. Ну а если вы всё-таки очень увлечённо работали, поэтому сами не заметили, как открыли много окон, запустили на выполнение несколько программных приложений и утилит, то закрыть их простым нажатием на кнопку «Выхода», может не получиться.

Алгоритм действий

Для завершения нежелательных процессов, отказывающихся подчиняться пользователю, нужно воспользоваться помощью «Диспетчера задач». Если у вас установлен Windows 7, достаточно кликнуть правой клавишей мышки по нижней панели задач, выбрать параметр «Запустить Диспетчер задач».

Шаг 1

В открывшемся окне на первой вкладке кликните по той утилите, которая вам уже не нужна, а далее в нижней части окна выберите параметр «Снять задачу». Если процесс не совсем безнадёжен, он остановится.

Шаг 2

Можно перейти на вторую вкладку «Процессы», точно также кликнуть по той строке, которая провоцирует в конкретный момент проблемы, а затем нажать на кнопку «Завершить».

Диспетчер задач Windows

Отметьте опцию отображения всех процессов пользователей

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

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

Шаг 3

Итак, не произносите фраз типа: «Не могу завершить процесс в Диспетчере задач», а лучше воспользуйтесь уникальными возможностями служебной команды taskkill. Эту команду многие готовы рассматривать в качестве мощнейшего инструмента.

Чтобы запустить такую команду, сначала, конечно же, нужно открыть командную строку, зажав одновременно две клавиши: «Win» и «R». В открывшемся маленьком окошке введите «cmd».

Шаг 4

В окне наберите слово taskkill и нажмите Enter

В частности, можно завершить процесс при помощи команды taskkill, используя имя приложения, которое отказывается завершаться. Для этого наберите небольшую командную фразу: taskkill / IM «имя приложения». Конечно, вместо словосочетания «имя приложения» вы должны набрать тот процесс, который у вас нет мочи остановить. Например, taskkill / IM excel.exe. Если вы воспользуетесь нашим примером, то в этом случае прекратит работать табличный редактор Excel. Выбирайте ваш процесс, приносящий вам ужасные хлопоты, и прописывайте в команде его имя.

В окне процессы отображаются не только с указанием своего имени, но и идентификатора в том числе. Если вы желаете, вы можете набрать такую командную фразу: taskkill / PID 574, где число 574 будет являться идентификатором проблемного процесса.

Шаг 5

Если на компьютере имеются несколько учётных записей, при этом абсолютно понятно, что зависание возникло именно по причине незавершённых процессов одного из пользователей, можно воспользоваться и такой командной фразой: «taskkill / F / FI «USERNAME eq имя_пользователя». Понятно, что в ней придётся вам самостоятельно изменить непосредственно имя пользователя, по вине которого возникла проблема.

Новая команда taskkill

Воспользуйтесь новой командной фразой

Мы рекомендуем вам потренироваться с использованием таких команд. Если у вас всё получится, вы сможете уходить от вынужденных перезагрузок, которые безжалостно вредят операционной системе.

Команда «taskkill», действительно, является мощнейшим инструментом, которому не могут противостоять даже вирусы и троянцы. Такая команда успешно завершает даже их негативную и упорную «деятельность».

Итоги

Мы уверены, что, ознакомившись с изложенными нами советами, вы сможете впоследствии твёрдо говорить своим знакомым: «Я могу без проблем останавливать работу любой программы, приложения». Овладев такими практическими навыками, вы сможете ещё сильнее «подружиться» с вашим компьютером.

Школота, например не удалился CoreSync_x64.dll от адобе, и его ни как не удалить стандартными средствами.
Вот как нужно делать.
В любой версии Windows семейства NT есть программа командной строки tasklist, позволяющая отобразить список процессов, выполняемых операционной системой. Чтобы использовать её для удаления неудаляемых файлов следуйте инструкции:

Пуск -> Выполнить (Win+R).
В появившемся окне набрать cmd, нажать клавишу Enter.
В появившемся черном окне набрать tasklist /m > c:\tasklist.txt.

Эта команда выводит список всех процессов с задействованными в их работе модулями (файлами dll и exe) и сохраняет этот список в файл c:\tasklist.txt, вместо того, чтоб отображать на экране.
Открыть файл c:\tasklist.txt и найти файл dll или exe, который невозможно удалить.
Если имя файла присутствует в списке, то завершить процесс (через диспетчер задач или командой taskkill), который использует этот файл. Имена процессов записаны в текстовом файле слева, имена задействованных dll и exe справа.

Часто неудаляемый файл используется процессом explorer.exe, который отображает окна с папками, иконки на рабочем столе. Его как и любой другой процесс можно завершить, при этом, конечно, закроются и все окна, которые должен отображать explorer.exe и панель с меню пуск. На этот случай не стоит закрывать черное окно. После завершения процесса explorer.exe оно не будет закрыто и в нём можно будет набрать команду для удаления файла del путь_к_файлу.

Добавлю, что существуют процессы, завершение которых может привести к перезагрузке компьютера, обычно это некоторые из svchost.exe, так что не пугайтесь, если вдруг Windows решит перезагрузить компьютер. После перезагрузки всё будет по старому. В этом случае удалить неудаляемый файл значительно сложнее, необходимо либо использовать безопасный режим, либо ERD, либо другую операционную систему.
В конце концов удалить файл. И можно обратно запустить ранее завершённый процесс.

Все эти манипуляции можно провести и с удалённым компьютером, при условии наличия на нём администраторских прав.

где: c: - буква раздела, на котором лежит файл.


Спасибо. Удалил файлы Iobit : HPProtectNotify32.dll.log : HPProtectNotify32_IObitDel_yvpoyw.dll
ASCExtMenu_IObitDel_ocjwuh.tmp
через безопасный режим . ОС Windows xp
Спасибо.

Завершение работы процесса

Процесс выполняется до тех пор, пока не произойдет одно из нижеследующих событий:

  • Какой-либо поток процесса вызывает функцию ExitProcess . Она завершает работу всех потоков процесса.
  • Первичный поток процесса возвращает значение. Первичный поток может отменить завершение работы других потоков, при помощи явного вызова ExitThread перед возвратом своего значения. Один из оставшихся потоков может все еще вызвать ExitProcess , чтобы гарантировать, что все потоки завершили работу.
  • Последний поток процесса завершил работу.
  • Какой-либо поток вызывает функцию TerminateProcess с дескриптором процесса. Это завершает работу всех потоков процесса, без разрешения им, чтобы они очистили или сохранили данные.
  • Для консольных процессов, заданная по умолчанию функция обработчика вызывает ExitProcess , когда консоль получает сигнал CTRL+BREAK или CTRL+C . Все консольные процессы, связанные с консолью получают эти сигналы. Отсоединенные процессы и процессы GUI - не затрагиваются сигналами CTRL+C , или CTRL+BREAK . Для получения дополнительной информации, см. статью SetConsoleCtrlHandler .
  • Пользователь закрывает систему или заканчивает работу сессии. Используйте функцию SetProcessShutdownParameters , чтобы установить параметры выключения системы, типа того, когда процесс должен завершиться относительно других процессов в системе. Функция GetProcessShutdownParameters извлекает данные о текущем приоритете завершения процесса и других флажках завершения.

Когда процесс завершает работу, все потоки процесса немедленно завершают работу без шанса запустить дополнительный код. Это означает то, что процесс не выполняет код в блоках обработчика завершения работы. Для получения дополнительной информации, см. статью Структурная обработка особых ситуаций .

Функция GetExitCodeProcess возвращает значение состояние завершения процесса. В то время пока процесс выполняется, его состояние завершения является STILL_ACTIVE . Когда процесс заканчивает работу, его состояние завершения изменяется из STILL_ACTIVE в код выхода процесса. Код выхода является или значением, определяемым при вызове ExitProcess или TerminateProcess , или значением, возвращаемым функцией main или функцией WinMain процесса. Если процесс завершил работу в результате фатальной исключительной ситуации, код выхода является значением исключения, которое вызвало завершение. Кроме того, это значение используется как код выхода для всех потоков, которые выполнялись, когда произошла исключительная ситуация.

Когда процесс заканчивает работу, состояние объекта процесса становится сигнальным, освобождая любые потоки, которые ждали окончания работы процесса. За большей информацией о синхронизации, см. статью Выполнение синхронизации нескольких потоков .

Открытые дескрипторы файлов или других ресурсов закрываются автоматически, когда процесс завершает работу. Однако сами объекты существуют до тех пор, пока все их открытые дескрипторы не закроются. Это означает то, что объект остается допустимым после того, как процесс закрывается, если другой процесс имеет его дескриптор.

Если процесс завершил работу при помощи ExitProcess , система вызывает функцию точки входа каждой связанной динамически подключаемой библиотеки ( DLL ) со значением, указывающим, что процесс отсоединяется от DLL . Динамически связываемые библиотеки ( DLL ) не уведомляются, когда процесс завершает работу при помощи TerminateProcess . Для получения дополнительной информации о DLL , см. в главе Динамически-подключаемые библиотеки .

Выполнение функций ExitProcess , ExitThread , CreateThread , CreateRemoteThread и CreateProcess переводится в последовательный режим в пределах адресного пространства. Применяются нижеследующие ограничения:

  • В ходе запуска процесса и DLL процедуры инициализации, могут быть созданы новые потоки, но они не начинают исполнение кода до тех пор, пока не закончена инициализация DLL для процесса.
  • Только один поток одновременно может в DLL инициализировать или отключить процедуру.
  • Функция ExitProcess не возвращает значения до тех пор, пока нет никаких потоков в их DLL , которые инициализируют или отключают процедуры.

Внимание! Функция TerminateProcess должна использоваться только в экстремальных обстоятельствах, так как она не дает возможности потокам очищать или сохранять данные и не уведомляет связанные с процессом DLL. Если Вам нужно иметь один процесс, который завершает другой процесс, то нижеследующие шаги обеспечивают лучшее решение этой проблемы:

Обратите внимание! , когда система завершает работу процесса, она не прерывает, какой-либо дочерний процесс, который этот процесс создал.

Читайте также: