Poradnik Shella/Terminala (GNU/Linux, *BSD)
Spisu treści:
- Systemowe sygnały zabicia
- Kończenie procesów za pomocą polecenia
kill - Kończenie procesów za pomocą polecenia
killall - Kończenie procesów za pomocą polecenia
pkill - Wniosek
Czy kiedykolwiek zdarzyło Ci się, że aplikacja została uruchomiona i nagle podczas korzystania z aplikacji przestaje ona odpowiadać i nieoczekiwanie ulega awarii? Próbujesz ponownie uruchomić aplikację, ale nic się nie dzieje, ponieważ oryginalny proces aplikacji nigdy tak naprawdę nie wyłącza się całkowicie.
Cóż, w pewnym momencie stało się nam wszystkim, prawda? Rozwiązaniem jest zakończenie lub zabicie procesu aplikacyjnego. Ale jak?
Na szczęście w Linuksie jest kilka narzędzi, które pozwalają zabijać błędne procesy., pokażemy Ci, jak używać poleceń
kill
,
killall
i
pkill
, aby zakończyć proces w systemie Linux.
Główna różnica między tymi narzędziami polega na tym, że
kill
kończy procesy na podstawie numeru ID procesu (PID), podczas gdy komendy
killall
i
pkill
kończą uruchomione procesy na podstawie ich nazw i innych atrybutów.
Zwykli użytkownicy mogą zabijać własne procesy, ale nie te, które należą do innych użytkowników, podczas gdy użytkownik root może zabijać wszystkie procesy.
Systemowe sygnały zabicia
kill
,
killall
i
pkill
wysyłają dany sygnał do określonych procesów lub grup procesów. Gdy nie określono sygnału, każde narzędzie wysyła
15
(
TERM
).
Najczęściej używane sygnały to:
-
1(-HUP): aby ponownie załadować proces.9(-KILL): aby zabić proces.15(-TERM): aby z wdziękiem zatrzymać proces.
Sygnały można określić na trzy różne sposoby:
- używając numeru (np. -1) z prefiksem „SIG” (np. -SIGHUP) bez prefiksu „SIG” (np. -HUP).
Użyj opcji
-l
, aby wyświetlić listę wszystkich dostępnych sygnałów:
kill -l # or killall -l

Kroki opisane poniżej będą działać we wszystkich dystrybucjach Linuksa.
Kończenie procesów za pomocą polecenia
kill
Aby zakończyć proces za pomocą komendy
kill
, najpierw musisz znaleźć PID procesu. Możesz to zrobić za pomocą różnych poleceń, takich jak
top
,
ps
,
pidof
i
pgrep
.
Powiedzmy, że przeglądarka Firefox przestała odpowiadać i musisz zabić proces Firefox. Aby znaleźć identyfikator procesu, użyj polecenia
pidof
:
pidof firefox
Polecenie wyświetli wszystkie procesy Firefoksa:
2551 2514 1963 1856 1771
Gdy wiesz, że Firefox przetwarza PID, aby zakończyć wszystkie, wyślij sygnał
TERM
:
kill -9 2551 2514 1963 1856 1771
Kończenie procesów za pomocą polecenia
killall
Komenda
killall
kończy wszystkie programy o określonej nazwie.
Korzystając z tego samego scenariusza co poprzednio, możesz zabić proces Firefoksa, wpisując:
killall -9 firefox
killall
akceptuje kilka opcji, takich jak wysyłanie sygnałów do procesów należących do danego użytkownika, dopasowanie nazw procesów do wyrażeń regularnych oraz czas utworzenia. Możesz uzyskać listę wszystkich opcji, wpisując
killall
(bez żadnych argumentów) na swoim terminalu.
Na przykład, aby zakończyć wszystkie procesy działające jako użytkownik „sara”, uruchom następującą komendę:
Kończenie procesów za pomocą polecenia
pkill
pkill
kończy procesy, które pasują do wzorca podanego w wierszu poleceń:
pkill -9 firefox
Nazwa procesu nie musi być dokładnie zgodna.
Za pomocą
pkill
możesz również wysłać sygnał do procesów należących do danego użytkownika. Aby zabić tylko procesy firefox należące do użytkownika „sara”, należy wpisać:
Wniosek
Zakończenie niereagujących programów za pomocą poleceń
kill
,
killall
i
pkill
jest łatwym zadaniem. Musisz tylko znać nazwę procesu lub PID.
Jak bezprzewodowa neutralność sieci może zabić Kindle Model biznesowy
Neutralność sieci to dobra rzecz - ale czysta neutralność sieci również może mieć wady
Jak zabić programy, które nie odpowiadają w oknach z menu podręcznego
Dowiedz się, jak zabijać programy nie odpowiadające w systemie Windows z menu prawego przycisku myszy.
Jak zabić procesy systemu Windows z wiersza polecenia za pomocą taskkill
Dowiedz się, jak zabić procesy systemu Windows z wiersza polecenia lub CMD przy użyciu polecenia Taskkill.







