Jak zabić proces, który nie umrze?


18

Nie jestem w stanie zabić procesu przy użyciu żadnej znanej mi techniki („Wymuś zamknięcie” w Monitorze aktywności top, killallz terminala) i zastanawiam się, czy mogę podjąć dodatkowe kroki.

wprowadź opis zdjęcia tutaj

~ $ sudo killall -KILL 77439
Password:
No matching processes were found
~ $ killall -KILL 77439
No matching processes belonging to you were found
~ $ killall 77439
No matching processes belonging to you were found
~ $ killall Mathematica
No matching processes belonging to you were found

FWIW procesem jest „Mathematica”, którego nie mogę ponownie uruchomić, zamknąć lub wymusić, albo próbkować, według nazwy lub PID, i wydaje się, że ma pewne dziwne efekty uboczne (zrzuty ekranu nie pojawiają się, nie można opróżnić kosza i nie może nawet zamknąć systemu).

Czy można podjąć dodatkowe kroki, aby naprawdę zabić źle zachowany proces?


Czy możesz znaleźć ten proces za pomocą polecenia top w terminalu?
Pierobon

1
Następnym razem, gdy ten problem wystąpi, dodaj wynik ps alx | egrep '[ /](PID|Math)'do pytania.
dan

@danielAzuelos: Dobra wskazówka. Zrobię
orome

Odpowiedzi:


35

killallzabija według nazwy procesu (która definitywnie nie ma 77439 i najprawdopodobniej także nie Mathematica). Zamiast tego możesz użyć kill 77439lub (jeśli to się nie powiedzie) kill -9 77439(ale jeśli proces jest naprawdę zablokowany, tylko ponowne uruchomienie rozwiąże problem).

Ponadto, ze względu na sposób, w jaki wysyłanie / przetwarzanie sygnałów (jak kill -9) działa w systemie Unix / OS X, zdarzają się sytuacje, w których proces będzie niemożliwy do zabicia. Jednym typowym przykładem tego jest sytuacja, w której proces blokuje się podczas uzyskiwania dostępu do jakiegoś urządzenia zewnętrznego i nigdy nie odzyskuje kontroli. W takich sytuacjach ponowne uruchomienie jest jedynym sposobem na pozbycie się procesu.


2
Zabójcze dźwięki brzmią tak, jak powinny, ale tak naprawdę powinny być nazywane „wysyłaj sygnał przerwania”, ponieważ istnieje wiele różnych rodzajów zabójstw, które może wykonać. Używanie parametrów -9zasadniczo wykorzystuje najpotężniejszą formę zakończenia z dostępnymi skrajnymi uprzedzeniami ...
stuffe

1
$ kill -9 PID zawsze robi mi lewę, nawet jeśli jest to tak bardzo inwazyjne.
Pierobon

Wygląda więc na to, że Mathematica jest po prostu wyjątkowo źle zachowana. W końcu musiałem wymusić wyłączenie (zawieszone regularne wyłączenie). Nie mam tego problemu z żadną inną aplikacją, ale Mathematica miał go więcej niż raz.
orome

Oto kilka szczegółowych informacji na temat tego, co może powodować blokowanie procesów.
GDP2

Zaraz zabiję -9. Jedyny raz, kiedy wystąpił błąd „sudo kill -9”, był w systemie, który został całkowicie zepsuty i mimo wszystko wymagał ponownego uruchomienia.
MikeP,

-3

W systemie macOS Mojave 10.14 Beta 1 musiałem wykonać następujące czynności, aby uzyskać przyczepność:

sudo xcscontrol --reset   

2
Co to dokładnie robi / dlaczego jest potrzebne?
pkamb

xcscontroljest kontrola Xcode Server i wydaje się, że nie ma żadnej korelacji z źle zachowanym procesem?
Matt Sephton,
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.