Uzyskiwanie informacji o procesach
Brak odpowiedzi jest pierwszym krokiem w jego zabiciu. Możemy uzyskać informacje o procesie za pomocą dwóch poleceń, i.mi., góra i ps. Aby zobaczyć listę uruchomionych procesów, wpisz top w wierszu poleceń:
$ góraLub
$ps
Na terminalu znajdziesz kilka istotnych informacji. Na przykład wyobraź sobie sytuację, w której proces związany z „Aplikacją” przestał odpowiadać. W naszym przypadku istnieją cztery wystąpienia aplikacji działających z identyfikatorami procesów (PID) 5441, 3870, 5062 i 3637, 4233, 770, 3787, zgodnie z naszym górnym wyświetlaczem poleceń.
Chociaż top jest niezwykle przydatny, nie zawsze jest to najskuteczniejszy sposób pozyskiwania informacji. Teraz powiedzmy, że musisz zabić procesy aplikacji, ale nie chcesz otrzymywać informacji w czasie rzeczywistym z górnego polecenia. w tym scenariuszu możesz użyć polecenia ps. Ponadto możemy filtrować dane wyjściowe za pomocą polecenia grep. Interesuje nas tylko lista procesów związanych z Aplikacją. Użyj poniższego polecenia, aby zobaczyć procesy związane z aplikacją:
$ ps aux | aplikacja grepNatomiast,
a = Pokaż wszystkie procesy związane z użytkownikiem
u = Pokaż właściciela/użytkownika procesu.
x = Pokaż wszystkie procesy, które nie są związane z terminalem
Grep wypisuje linie pasujące do wzorca, podczas gdy ps zwraca migawkę bieżącego procesu. Powód używania grep do filtrowania ps jest prosty: jeśli uruchomisz sam ps, otrzymasz migawkę wszystkich uruchomionych procesów.
Wyświetl listę sygnałów:
Wpisz kill -l, aby wyświetlić listę wszystkich sygnałów. Możemy wysyłać różne sygnały za pomocą polecenia kill.
Możemy wybrać dowolny sygnał z listy podanych sygnałów.
$ zabić -l
Istnieje kilka typowych sygnałów zabijania:
Nazwa sygnału Wartość sygnału Efekt
SIGHUP 1 Rozłącz sięSIGINT 2 Przerwanie z klawiatury
Sygnał zabójstwa SIGKILL 9
SIGTERM 15 Sygnał zakończenia
SIGSTOP 17, 19, 23 Zatrzymaj proces
Zabij procesy według identyfikatora:
Użyjmy więc polecenia kill, aby zakończyć naszą aplikację. Składnia wyglądałaby tak:
Zabij sygnał PIDWyślij sygnał kill, aby zabić 4129 procesów:
Zabij -9 4124
Wyślij sygnał, aby zawiesić procesy 5427:
Zabij -1 5427
Wyślij sygnał przerwania procesu 5250 z klawiatury:
Zabij -2 5250
Zabij proces według nazwy:
Jeśli chcesz zabić wszystkie procesy uruchomione w aplikacji. Użyj polecenia killall:
$ killall -9 aplikacja
Wszystkie procesy działające w aplikacji zostały pomyślnie zabite.
Wniosek:
Przed zabiciem jakichkolwiek procesów Linuksa, najpierw musimy zobaczyć listę wszystkich uruchomionych procesów, aby uzyskać identyfikator procesu. Za pomocą polecenia kill możemy użyć wielu sygnałów, przy czym każdy sygnał służy do określonego celu.