Strona główna > Konsola, Polecenia > Zabijanie nieposłusznych procesów – polecenie kill

Zabijanie nieposłusznych procesów – polecenie kill

Witam wszystkich po nieco dłuższej przerwie. Dzisiaj przyszedł czas na poskromienie naszych (czasami nieposłusznych) procesów. Do tego celu bardzo skutecznie nadaje się polecenie kill.

Działanie i używanie polecenia do skomplikowanych nie należy. Polecenie to po prostu wysyła odpowiedni sygnał do działającego (lub nie) procesu z żądaniem jego zamknięcia, zatrzymania. Nie będziemy się skupiali na wszystkich dostępnych sygnałach, a jest ich 64! Zamiast tej nieco przerażającej liczby omówimy sobie jedynie 4.

SIGTERM – powoduje poprawne zamknięcie procesu

SIGKILL – powoduje prawdziwe zabicie procesu

SIGSTOP – zatrzymanie procesu

SIGCONT – wznowienie działania procesu, jeśli wcześniej został zatrzymany

Domyślnie stosowanym sygnałem jest SIGTERM. Co do ostatnich trzech sygnałów to one nie są tak naprawdę przetwarzane przez proces. Sprawę załatwia system operacyjny.

Do pełni szczęści potrzebny będzie nam jeszcze numer PID procesu. Sprawdzić go możemy za pomocą polecenia ps. Jeżeli już posiadamy nasz upragniony PID to możemy spróbować zakończyć wybrany przez nas proces poprzez wydanie następującego polecenia:

kill nr_PID

Nie ma również przeszkód, aby zakończyć wiele procesów naraz:

kill nr_PID1 nr_PID2 nr_PID3

Jeżeli będziemy chcieli zmienić typ sygnału to możemy się posługiwać jego wartością liczbową lub nazwą:

kill -9 nr_PID lub kill -SIGKILL nr_PID

Jeżeli będziemy chcieli poznać listę wszystkich sygnałów to możemy posłużyć się opcją -l polecenia kill lub podręcznikiem man.

Na koniec podam przykład działania sygnału SIGSTOP oraz SIGCONT. Najlepiej jak otworzymy sobie program gedit. Następnie wydamy polecenie:

kill -SIGSTOP nr_PID_gedit

Jeżeli teraz przełączymy się teraz na program gedit to możemy zaobserwować, że stanie się on nieaktywny. Do ponownego działania możemy go przywrócić korzystając z sygnału SIGCONT:

kill -SIGCONT nr_PID_gedit

Numery PID możemy również sprawdzić korzystając np. z Monitora systemu w środowisku GNOME. Tyle, że tam jest on nazwany jako ID.

Na teraz to wszystko i zapraszam ponownie.

  1. Brak komentarzy.
  1. No trackbacks yet.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: