Linux kill command summary with examples
Spisu treści:
killCommand- Kończenie procesów za pomocą polecenia
kill - Przeładowywanie procesów za pomocą polecenia
kill - Wniosek
Linux to świetny i zaawansowany system operacyjny, ale nie jest doskonały. Od czasu do czasu niektóre aplikacje mogą zachowywać się nieprawidłowo i przestać odpowiadać lub zużywać dużo zasobów systemowych. Nie można ponownie uruchomić niereagujących aplikacji, ponieważ pierwotny proces aplikacji nigdy nie zamyka się całkowicie. Jedynym rozwiązaniem jest ponowne uruchomienie systemu lub zabicie procesu aplikacji.
Istnieje kilka narzędzi, które pozwalają ci zakończyć błędne procesy,
kill
najczęściej używane.
kill
Command
kill
to powłoka wbudowana w większość powłok pochodzących z Bourne'a, takich jak Bash i Zsh. Zachowanie polecenia różni się nieznacznie między powłokami a samodzielnym plikiem wykonywalnym
/bin/kill
.
Użyj polecenia
type
aby wyświetlić wszystkie lokalizacje w systemie zawierające
kill
:
type -a kill
kill is a shell builtin kill is /bin/kill
Powyższe dane wyjściowe mówią, że wbudowana powłoka ma wyższy priorytet niż samodzielny plik wykonywalny i jest używana za każdym razem, gdy wpiszesz polecenie
kill
. Jeśli chcesz użyć pliku binarnego, wpisz pełną ścieżkę do pliku
/bin/kill
., użyjemy wbudowanego Bash.
Składnia polecenia
kill
ma następującą postać:
kill…
Polecenie
kill
wysyła sygnał do określonych procesów lub grup procesów, powodując, że działają zgodnie z sygnałem. Gdy sygnał nie jest określony, domyślnie jest to
-15
(-TERM).
Najczęściej używane sygnały to:
-
1(HUP) - Przeładuj proces.9(KILL) - Zabij proces.15(TERM) - Z wdziękiem zatrzymaj proces.
Aby uzyskać listę wszystkich dostępnych sygnałów, wywołaj polecenie z opcją
-l
:
kill -l

Sygnały można określić na trzy różne sposoby:
- Używanie numeru (np.
-1lub-s 1).Używanie prefiksu „SIG” (np.-SIGHUPlub-s SIGHUP)-SIGHUPprefiksu „SIG” (np.-HUPlub-s HUP).
Następujące polecenia są sobie równe:
kill -1 PID_NUMBER
kill -SIGHUP PID_NUMBER
kill -HUP PID_NUMBER
Identyfikatory PID podane dla polecenia
kill
mogą być jednym z następujących:
- Jeśli
PIDjest większy od zera, sygnał jest wysyłany do procesu o ID równymPIDJeśliPIDjest równy zero, sygnał jest wysyłany do wszystkich procesów w bieżącej grupie procesów. Innymi słowy, sygnał jest wysyłany do wszystkich procesów należących do GID powłoki, która wywołała poleceniekill. Użyj komendyps -efjaby wyświetlić identyfikatory grup procesów (GID). JeśliPIDjest równy-1, sygnał jest wysyłany do wszystkich procesów o tym samym UID, co użytkownik wywołujący polecenie. Jeśli użytkownik wywołujący jest rootem, sygnał jest wysyłany do wszystkich procesów oprócz init i samego procesukillJeśliPIDjest mniejszy niż-1, sygnał jest wysyłany do wszystkich procesów w eq grupy procesów o GID równym wartości bezwzględnejPID.
Zwykli użytkownicy mogą wysyłać sygnały do własnych procesów, ale nie do tych, które należą do innych użytkowników, podczas gdy użytkownik root może wysyłać sygnały do procesów innych użytkowników.
Kończenie procesów za pomocą polecenia
kill
Aby zakończyć lub zabić proces za pomocą komendy
kill
, najpierw musisz znaleźć numer identyfikacyjny procesu (PID). 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źć PID przeglądarki, użyj polecenia
pidof
:
pidof firefox
Polecenie wyświetli identyfikatory wszystkich procesów Firefox:
6263 6199 6142 6076
Gdy poznasz numery procesów, możesz zakończyć je wszystkie, wysyłając sygnał
TERM
:
kill -9 2551 2514 1963 1856 1771
Zamiast szukać PID, a następnie przerywać procesy, możesz połączyć powyższe polecenia w jedno:
Przeładowywanie procesów za pomocą polecenia
kill
Innym częstym przypadkiem użycia
kill
jest wysłanie sygnału
HUP
, który informuje procesy o ponownym załadowaniu jego ustawień.
Na przykład, aby ponownie załadować Nginx, musisz wysłać sygnał do procesu głównego. Identyfikator procesu głównego procesu Nginx można znaleźć w pliku
nginx.pid
, który zazwyczaj znajduje się w katalogu
/var/run
.
Użyj polecenia
cat
aby znaleźć główny identyfikator PID:
cat /var/run/nginx.pid
30251
Po znalezieniu głównego PID ponownie załaduj ustawienia Nginx, wpisując:
sudo kill -1 30251
Powyższe polecenie należy uruchomić jako użytkownik root lub użytkownik z uprawnieniami sudo.
Wniosek
Polecenie
kill
służy do wysyłania sygnału do procesów. Najczęściej stosowanym sygnałem jest
SIGKILL
lub
-9
, który kończy dane procesy.
Polecenie CP w systemie Linux (kopiowanie plików)
cp to narzędzie wiersza polecenia do kopiowania plików i katalogów w systemach Unix i Linux.
Polecenie różnicowe w systemie Linux
diff to narzędzie wiersza polecenia, które pozwala porównać dwa pliki linia po linii. Może także porównywać zawartość katalogów.
Polecenie Pwd w systemie Linux (bieżący katalog roboczy)
Bieżący katalog roboczy to katalog, w którym aktualnie pracuje użytkownik. W tym artykule pokażemy, jak określić bieżący katalog roboczy za pomocą polecenia pwd







