Widzę procesy na moim SGI Altix 450 z systemem SLES 10.1 najwyraźniej przestają działać (tzn. Nie dostarczają dalszych wyników w swoich logach przez wiele godzin). W tym momencie chcę zabić obraźliwy proces, aby móc go ponownie uruchomić. Góra pokazuje, że proces jest w stanie (R). Chociaż kiedy próbuję go zabić, nic się nie dzieje. Nawet kiedy używam kill -9, nadal trwa. W takim przypadku co mogę zrobić poza ponownym uruchomieniem komputera?
9
Odpowiedzi:
Możliwe, że proces zostanie zabity, ale czeka na to, aż rodzic odbierze jego wartość zwracaną. W takim przypadku po zabiciu byłby w stanie „Z”, a nie „R”. W takim przypadku powinieneś znaleźć
ppid
proces za pomocąps
polecenia i zabić proces nadrzędny (jeśli naprawdę jesteś pewien, że nie spowoduje to żadnych problemów).Innym przypadkiem może być to, że z jakiegoś powodu proces wznawia się po zabiciu jak tty. W takim przypadku identyfikator procesu powinien się zmieniać za każdym razem, gdy zabijasz -9. Sprawdź, czy identyfikator procesu zmienia się za każdym razem, gdy próbujesz go zabić.
źródło
Proces czeka na jakiś zasób systemowy, może NFS? to nie pozwala mu „puścić”. Chciałbym usłyszeć niektóre rozwiązania tego poza moim ...
uruchom ponownie urządzenie lub poczekaj, aż proces się zatrzyma.
Zastanawiam się, czy uda Ci się zatrzymać proces za pomocą polecenia kill -STOP {PID}, aby zapobiec zużyciu większej ilości procesorów.
Ponowne uruchomienie powinno być możliwe nawet przy innym zatrzymanym procesie siedzącym w pobliżu, ale może wymagać portu listy lub segmentu pamięci współużytkowanej, który jest nadal używany przez inny proces.
źródło
ls
polecenie na s3fs mount.ls
Proces nie zabije nawetkill -9
aż wymusić odinstalowania zumount -l
Czy sprawdziłeś już dmesg? Widziałem to po panice jądra; jedynym sposobem na odzyskanie jest ponowne uruchomienie komputera (najlepiej wkrótce) - a następnie załatanie łatanego jądra.
Normalne procesy, których nie można zabić, będą w stanie D, a nie R.
źródło