Як я можу вбити нерозбірливий процес?


12

Я закрив заявку, але процес залишився у списку. Я намагаюся зупинитися у менеджера завдань, але нічого не відбувається. Немає повідомлень про помилки, процес просто залишається у списку. Я намагаюся налагодити це, але налагоджувач каже:

Не вдається приєднатися до процесу збоїв. Запрошена операція не підтримується.

Іноді це трапляється з VS2008 та деякими іншими програмами.

Як його припинити?


Це одна з причин, коли я перейшов на Linux. Незважаючи на те, що я відчував цю проблему під час Win XP, здається, вона не змінилася з тих пір.
petersohn

4
За даними samba.2283325.n4.nabble.com/… , в Linux точно така ж ситуація - процеси, які чекають на ядрі, неможливі. Це одна з причин переходу на Windows.
ta.speot.is

У статті Марка Русиновича "Нерозбірливі процеси" йдеться про те, що ви можете скористатися інструментом налагодження локального ядра, щоб дізнатися, чому процес неможливий. У статті ви знайдете інструкції, що робити. Вам знадобляться безкоштовні засоби налагодження для Windows .
незабутніidSupportsMonica

Відповіді:


11

На жаль, єдиний реальний спосіб звернутися до перезавантаження.

У мене теж була ця проблема, і я не міг знайти абсолютно ніякого способу успішно вбити процес, що розбився. Я спробував майже кожну програму / подібний додаток, який я міг знайти, і всі вони не вдається.

Як я розумію, найпоширенішою причиною цієї проблеми є те, коли порушує процес завантажує драйвер системи, а потім надсилає йому запит, який він не може виконати. Мабуть, ядро ​​не може належним чином розподілити пам'ять із процесу, коли він закривається, оскільки збійний драйвер перебуває у стані очікування вводу-виводу, який вимагає доступу до адресного простору процесу.

(Здебільшого зібрані з) http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-process.aspx


2
Так, це, безумовно, найпоширеніша причина подібних речей. Більшість процесів, які я не бачив, були або пов'язані з CD-приводом (наприклад EAC.EXE), або з ТВ-тюнером / відеокартою (наприклад ATIMMC.EXE). В обох випадках справа зводиться до вини водія, і кожен, хто навчився і зробив роботу водія, дізнається, як проблематичні речі можуть отримати на цьому рівні, і які, здавалося б, "дивні" ефекти вони можуть мати в країні користувачів (принаймні BSOD остаточний і зрозумілий).
Synetech

1
@ Synetech вкл. - Усі проблеми, що виникли у мене, були пов'язані з диском, або з програмним забезпеченням, яке справді взагалі не потребувало драйвера (я поняття не маю, чому вирішили, що потрібно запустити в ядрі). Я не думаю, що ви можете робити будь-які бланкетні заяви про те, яке саме програмне забезпечення найчастіше має аварійні збої.
Підроблене ім’я

3

Хакер процесів має команду Різне → Термінатор, яка спробує вбити безліч різних методів:

невдало для більшості спроб

повні описи

У моїх тестах, все це було заблокувати процесорний хакер і перетворити його на нерозбірливий процес, але, можливо, воно спрацює в деяких випадках.


2
Термінатор вилучено з Process Hacker і переміщено у плагін. Про це була нитка форуму . Підтримувач стверджував: "Термінатор марний ... тому що він не є більш ефективним, ніж звичайний функціонал припинення". Дехто відповів і не погодився.
незабутніidSupportsMonica

Пізніше dmex перемістив Terminator у плагін. Вихідний код тут . На момент написання статті, немає довічного ще . Коли двійковий файл буде випущений, він буде опублікований на сторінці випусків dmex .
незабутніidSupportsMonica

1
Я подав запит на функцію саме зараз, вимагаючи складеної версії Terminator. Напевне, ви можете використовувати будь-яку версію Process Hacker, старшу за 2,39. Наприклад, ви можете використовувати версію 2.38, яка доступна тут .
незабутніidSupportsMonica

Існує також можливість того, що налагоджувач був приєднаний, і причина не вбивати саме це. Різне виявляє це і додає відладчик відриву
Ghita

2

Іноді процес може бути заблокований на ресурсі або потоці чи чомусь, а закриваючи або звільняючи це, звільняє процес і дозволяє закінчуватися. Це дещо схоже на те, як при видаленні (до кошика) файлу в Провіднику, який використовується, він насправді не відходить і здається застряг (не одразу повертаючи помилку під час використання / заблоковану), але якщо ви киньте програму, яка заблокувала її протягом п'яти секунд, файл раптово зникає.

Я бачив, що це трапляється іноді, особливо з програмами, які мають спливаюче діалогове вікно або щось, що якимось чином приховується; пошук способу відхилення діалогового вікна дозволяє потоку закінчуватися, тим самим дозволяючи процесу закінчитися.

Я підозрюю, що зі збільшенням, але ще відносно нової практики багатопотокового програмування, подібні речі стануть більш поширеними, принаймні на деякий час.


0

Ймовірно, що програми, які ви використовуєте, були розроблені до Windows Vista / 7 і несумісні з внесеними змінами.

Ваша найкраща ставка - знайти виконавчий файл для програм, які мають цю проблему, клацніть правою кнопкою миші, перейдіть до властивостей, потім виберіть сумісність і нарешті виберіть Windows XP як режим сумісності.


0

запустіть CMD як адміністратор і використовуйте taskkill, щоб вимкнути його. Приклад:

taskkill / F yourprogram.exe

АБО

taskkill / F / im yourprogram.exe

Якщо ви застрягли в синтаксисі CMD taskkill, введіть taskkill /?


1
Ласкаво просимо до Супер Користувача! Хоча це може допомогти вирішити проблему, воно не пояснює, чому та / або як вона вирішує проблему. Забезпечення цього додаткового контексту значно покращило б його довгострокове навчальне значення Будь ласка, відредагуйте свою відповідь, щоб додати пояснення, включаючи, що параметри роблять, а також які обмеження та припущення застосовуються. Спасибі.
fixer1234

ПОМИЛКА. Процес "AutoHotkeyU64_UIA.exe" з PID 16872 не вдалося закінчити. Причина: Немає запущеного екземпляра завдання.
Шаян
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.