Jak zabić zadanie „bez instancji”?


19

Spotify najpierw zabił się, ale „coś z tego” pozostawało, co było wykrywalne jako zadanie w PID 8664 i sądząc z faktu, że użycie pamięci RAM zmieniało się od czasu do czasu - „coś zrobiło”.

Teraz przede wszystkim ten proces powstrzymał mnie od słuchania muzyki, ponieważ Spotify odmówił ponownego uruchomienia z powodu zawieszania się tego wystąpienia.

Próbowałem więc pozbyć się tego procesu. Ale ani menedżer zadań, ani polecenie taskkill (jako administrator oczywiście) nie zdołały tego zrobić.

taskkill przynajmniej dał mi „powód”, który tu przetłumaczę.

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

oba dały:

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

Chciałbym wiedzieć, co to oznacza i czy istnieje inna opcja zakończenia takiego procesu.

(Windows 7 Pro 64 bit)


Oznacza to, że Spotify albo nie działa, albo masz nieprawidłowy identyfikator procesu. Nie można ukryć procesu w systemie Windows. Jak ustalono, że identyfikator procesu, o którym mowa, był powiązany ze Spotify.
Ramhound,

nic nie było „ukryte”, a PID był poprawny
Raffael

1
@Ramhound, o „Nie można„ ukryć ”procesu w systemie Windows”. Wydaje się możliwe, jeśli przyjrzymy się np.
Temu

@ user100487 - Nie ma absolutnie nic, co możesz zrobić, aby proces go ukryć, co przy mojej wiedzy spowodowałoby, że nie mogłem go znaleźć. Każda metoda opisana w tych połączonych odpowiedziach ma obejście, w niektórych przypadkach mogę mieć problemy, ale gwarantuję, że mogę znaleźć rozwiązanie. Jeśli mogę to zrobić, to każdy może to zrobić. Unikajcie pingowania mnie na tak stare, denerwujące pytania, ponieważ wasz komentarz nie jest konstruktywny po tak
długim

1
duh tak z pewnością „każdy proces można znaleźć”. Można je jednak ukryć, jeśli używasz tylko narzędzi wymienionych przez OP (Menedżer zadań Windows lub Task Kill). To wszystko.
user100487,

Odpowiedzi:


12

Proces prawie na pewno jest już martwy, tzn. Nie wykonuje już żadnego kodu. Jednak księgowość na ten temat nie znika, dopóki każdy uchwyt do niego i każdy z jego wątków nie zostanie zamknięty. Być może inny program trzyma taki uchwyt otwarty (programy antywirusowe są prawdopodobnie winowajcą), lub mógł przed śmiercią poprosić o sterownik do trybu jądra, który jest teraz zawieszony (kiedyś miałem napęd CD, który spowodował los). Dalsza lektura: „Dlaczego niektóre procesy pozostają w Menedżerze zadań po ich zabiciu?” oraz „Dlaczego wszystkie te procesy trwają w pobliżu śmierci i co utrzymuje je przy życiu?”

Spotify odmawia ponownego uruchomienia, ponieważ widzi, że jej kopia już działa, ale najwyraźniej po prostu szuka innego procesu o nazwie spotify. (Według słów Raymonda Chena aplikacja z pojedynczą instancją jest to odmowa usługi). Najłatwiejszym sposobem na rozwiązanie tego problemu jest ponowne uruchomienie komputera, ponieważ spowoduje to wymazanie wszystkich uchwytów i księgowości.

Ale jeśli naprawdę masz ochotę Naprawić to sam TM , pobierz Process Explorer , fantastycznie przydatne darmowe narzędzie Sysinternals. (Nie mam powiązania). Uruchom, nie wymaga instalacji i zaakceptuj umowę licencyjną. W obszarze Plik wybierz opcję Pokaż szczegóły dla wszystkich procesów ; powoduje to, że Process Explorer uruchamia się ponownie jako administrator. Następnie w obszarze Znajdź wybierz Znajdź uchwyt lub DLL . Wpisz nazwę procesu zombie (studnia, zwłoki) i naciśnij Wyszukaj.

szukanie uchwytów

Kolumny Process i PID informują, który proces jest właścicielem uchwytu. Kolumna Typ wskazuje, co to jest; interesują nas typy typu Process lub Thread . Kolumna Nazwa informuje, do czego służy uchwyt. (Wiele procesów ma własne uchwyty; znikną one, jeśli aplikacja będąca właścicielem zakończy się bez problemów w trybie jądra).

Niebezpieczeństwo : zamknięcie dojścia, którego naprawdę potrzebuje aplikacja, to świetny sposób na awarię. Jeśli to możliwe, zamknij aplikację, która jest właścicielem uchwytu. Ale jeśli nie możesz lub masz ochotę uderzyć młotkiem ...

Kliknij pozycję w tym oknie wyszukiwania, aby otworzyć panel uchwytów. Kliknij prawym przyciskiem myszy nowo podświetlony wpis w tym panelu i wybierz Zamknij uchwyt, aby usunąć go z istnienia.

Po zamknięciu wszystkich uchwytów proces zniknie.


Nie mogłem tego uruchomić. ProcessExplorer zawiesza się bardzo łatwo i nie miałem procesu, który miałby uchwyt, który mógłbym zamknąć
Matthew Lock

2
Zamknąłem wszystkie obsługiwane wszystkie wątki, ale problem nadal występował.
Tomáš Zato - Przywróć Monikę
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.