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)
Odpowiedzi:
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.
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.
źródło