Як вбити завдання, якому "бракує екземпляра"?


19

Спотифі спочатку вбив себе, але "щось із цього" продовжував затримуватися, що було виявлено як завдання з PID 8664 та судячи з того, що використання оперативної пам'яті час від часу змінюється - це "щось робило".

Тепер насамперед цей процес утримував мене від прослуховування музики, оскільки Spotify відмовився перезапустити через те, що цей екземпляр зависав.

Тому я намагався позбутися цього процесу. Але ні керівнику завдань, ні команді taskkill (як, звичайно, адміністратор) не вдалося це зробити.

taskkill принаймні дав мені "причину", яку я перекладу тут.

>taskkill /pid 8664 /f
>taskkill /im spotify.exe /f

обидва дали:

ERROR: The process "spotify.exe" with PID 8664 could not be terminated.
Reason: There is currently no instance executed by this task.

Я хотів би знати, що це означає і чи є інший варіант, як припинити такий процес.

(Windows 7 Pro 64 біт)


Це означає, що Spotify або не працює, або у вас неправильний ідентифікатор процесу. Неможливо "приховати" процес у Windows. Як ви визначили, про який ідентифікатор процесу було підключено до Spotify.
— Рамхаунд

нічого "прихованого" не було, і PID був правильним
— Раффаель

1
@Ramhound, про "Неможливо" заховати "процес у Windows". Це здається можливим, якщо ми розглянемо, наприклад, це питання security.stackexchange.com/questions/84385/… або це питання security.stackexchange.com/questions/24848/…
— user100487

@ user100487 - Ви абсолютно нічого не можете зробити, щоб приховати це, що, з моїх знань, призвело б до того, що я не знайду його. Кожен метод, описаний у цих пов'язаних відповідях, має вирішення, у деяких випадках у мене можуть виникнути проблеми, але я гарантую вам, що зможу знайти рішення. Якщо я можу це зробити, тоді це може зробити кожен. Будь ласка, уникайте пінгенту мене на питання цього старого, його дратує, оскільки ваш коментар не є конструктивним після цього часу ".
— Рамхаунд

1
так, так, звичайно, "будь-який процес можна знайти". Однак вони можуть бути приховані від перегляду, якщо ви використовуєте лише ті інструменти, про які згадував ОП (Windows Task Manager або Task Kill). Це все.
— користувач100487

Відповіді:


12

Процес майже напевно вже мертвий, тобто він більше не виконує жодного коду. Однак бухгалтерія про це не йде, поки кожна ручка до неї та кожна її нитка не буде закрита. У вас може бути відкрита інша програма, яка тримає таку ручку (антивірусні програми - ймовірний винуватець), або вона могла подати запит перед смертю до драйвера в режимі ядра, який зараз висів (у мене колись був CD-привід, який спричинив це багато). Далі читайте: "Чому деякі процеси залишаються в диспетчері завдань після їх вбивства?" і "Чому всі ці процеси затримуються біля смерті, і що їх підтримує в живих?"

Spotify відмовляється запускатися знову, оскільки бачить, що копія себе вже запущена, але, мабуть, просто шукає інший процес, який називається spotify. (Додаток для одного примірника - це власний відмова в обслуговуванні, за словами Реймонда Чена.) Найпростіший спосіб виправити це - перезавантажити комп'ютер, оскільки це знищить усі ручки та ведення бухгалтерії.

Але якщо ви справді відчуваєте, що виправляєте TM , скачайте Process Explorer - фантастично корисну безкоштовну утиліту від Sysinternals. (У мене немає приналежності.) Запустіть його, не потрібно встановлення, і прийміть EULA. У розділі Файл виберіть Показати деталі для всіх процесів ; це призводить до повторного запуску Explorer Explorer як адміністратора. Потім у розділі Find виберіть Find Handle або DLL . Введіть назву процесу зомбі (ну, труп) і натисніть Пошук.

пошук ручок

Стовпці Process і PID повідомляють, яким процесом належить ручка. Стовпець Тип вказує, що це за річ; нас цікавлять особи типу Process або Thread . У стовпці Ім'я вказується, що означає ручка. (Дуже багато процесів мають власні ручки; вони відійдуть, якщо власне додаток закінчиться без проблем у режимі ядра.)

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

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

Як тільки всі ручки закриті, процес зникне.


Я не міг змусити це працювати ProcessExplorer дуже легко, і у мене не було процесу, який мав ручку, яку я міг би закрити
— Метью Блокування

2
Я закрив усі оброблювані теми для всіх потоків, але проблема не зникала.
— Томаш Зато - Відновити Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.