Jak zabić proces Linuksa za pomocą zabójstwa, Pkill i Killall

Jak zabić proces Linuksa za pomocą zabójstwa, Pkill i Killall

System operacyjny Linux jest wyposażony w Zabij dowództwo Aby zakończyć proces. Polecenie umożliwia kontynuowanie uruchamiania serwera bez potrzeby ponownego uruchomienia po poważnej zmianie/aktualizacji. Oto wielka moc Linuksa i jest to jeden z powodów, dla których Linux działa 96.4% serwerów, na planecie.

Zabić Polecenie wysyła sygnał, określony sygnał do aktualnie działającego procesu. Polecenie zabójstwa można wykonać na wiele sposobów, bezpośrednio lub ze skryptu powłoki.

[Może się również spodobać: Znajdź 15 najlepszych procesów według użycia pamięci za pomocą „Top” w trybie wsadowym]

Za pomocą zabić polecenie z /usr/bin Zapewnij dodatkową funkcję, aby zabić proces według nazwy procesu za pomocą Pkill.

Zabij użycie poleceń

Wspólna składnia dla Zabij dowództwo Jest:

# Kill [sygnał lub opcja] PID (S)

Dla Zabij dowództwo A Nazwa sygnału możliwe:

Nazwa sygnału Wartość sygnału Zachowanie Wzdychanie 1 Hangup Sigkill 9 Signal Kill Sigterm 15 Zakończ

Wyraźnie z powyższego zachowania, Sigterm to domyślny i najbezpieczniejszy sposób zabicia procesu. Wzdychanie to mniej bezpieczny sposób zabicia procesu niż Sigterm. Sigkill jest najbardziej niebezpiecznym sposobem wśród powyższych trzech, aby zabić proces, który kończy proces bez oszczędzania.

Aby zabić proces, musimy znać identyfikator procesu procesu. A Proces jest przykładem programu. Za każdym razem, gdy program zaczyna się automatycznie unikalny Pid jest generowany dla tego procesu.

Każdy proces w Linux ma pid. Pierwszym procesem, który rozpoczyna się po uruchomieniu systemu Linux, jest - proces init, stąd przypisano mu wartość '1' w większości przypadków.

[Może się również spodobać: Wszystko, co musisz wiedzieć o procesach w Linux [kompleksowy przewodnik]]]

W tym jest procesem głównym i nie można go zabić w ten sposób, co zapewnia, że ​​proces główny nie zostanie przypadkowo zabity. W tym decyduje się i pozwala się zabić, gdzie zabójstwo jest jedynie prośbą o zamknięcie.

Wymień wszystkie uruchomione procesy Linux

Poznać wszystkie procesy i odpowiednio ich przypisane pid, Uruchom następujące polecenie PS.

# ps -a
Przykładowy wyjście
PID Tty Time CMD 1 ? 00:00:01 Init 2 ? 00:00:00 Kthreadd 3 ? 00:00:00 Migracja/0 4 ? 00:00:00 Ksoftirqd/0 5 ? 00:00:00 Migracja/0 6 ? 00:00:00 Watchdog/0 7 ? 00:00:01 Wydarzenia/0 8 ? 00:00:00 Cgroup 9 ? 00:00:00 Khelper 10 ? 00:00:00 Netns 11 ? 00:00:00 Async/Mgr 12 ? 00:00:00 13 ? 00:00:00 Sync_supers 14 ? 00:00:00 BDI-Default 15 ? 00:00:00 KintegrityD/0 16 ? 00:00:00 kblockd/0 17 ? 00:00:00 Kacpid 18 ? 00:00:00 Kacpi_notify 19 ? 00:00:00 Kacpi_Hotplug 20 ? 00:00:00 Ata/0 21 ? 00:00:00 ata_aux 22 ? 00:00:00 KSUSPEND_USBD

Co powiesz na dostosowanie powyższego wyjścia za pomocą składni jako 'proces PIDOF'.

# Pidof Mysqld
Przykładowy wyjście
1684

Innym sposobem osiągnięcia powyższego celu jest przestrzeganie poniższej składni.

# ps Aux | Grep Mysqld
Przykładowy wyjście
root 1582 0.0 0.0 5116 1408 ? S 09:49 0:00/bin/sh/usr/bin/mysqld_safe - -datadir =/var/lib/mysql - -socket =/var/lib/mysql/mysql.Sock--Pid-file =/var/run/mysqld/mysqld.PID -oparte nair =/usr --User = mysql mysql 1684 0.1 0.5 136884 21844 ? SL 09:49 1:09/usr/libexec/mysqld-oparte nair =/usr--datadir =/var/lib/mysql --user = mysql--log-error =/var/log/mysqld/mysqld/mysqld/mysqld/mysqld/.log--Pid-file =/var/run/mysqld/mysqld.PID - -socket =/var/lib/mysql/mysql.Skarpeta root 20844 0.0 0.0 4356 740 pkt/0 s+ 21:39 0:00 Grep Mysqld 

[Może się również spodobać: Jak znaleźć 15 najlepszych procesów według użycia pamięci w Linux]

Jak zabić proces w Linux

Zanim wyjdziemy do przodu i wykonamy Zabij dowództwo, Należy zauważyć kilka ważnych punktów:

  • Użytkownik może zabić wszystkie swoje procesy.
  • Użytkownik nie może zabić procesu innego użytkownika.
  • Użytkownik nie może zabić procesów, których używa system.
  • Użytkownik root może zabić proces na poziomie systemu i proces dowolnego użytkownika.

Innym sposobem wykonania tej samej funkcji jest wykonanie „pgrep' Komenda.

# pgrep mysql
Przykładowy wyjście
3139

Zabić powyższy proces Pid, Użyj polecenia Kill, jak pokazano.

Zabij -9 3139

Powyższe polecenie zabije proces posiadania pid=3139, Gdzie Pid jest Wartość numeryczna procesu.

Inny sposób wykonania tej samej funkcji można przepisać jako.

# Kill -Sigterm 3139

Podobnie 'Zabij -9 pid' jest podobne do 'Kill -Sigkill Pid' i wzajemnie.

Jak zabić proces w Linux za pomocą nazwy procesu

Musisz zdawać sobie sprawę z nazwy procesu, zanim zabicie i wprowadzenie niewłaściwej nazwy procesu może cię spieprzyć.

# PKILL MYSQLD 

Zabij więcej niż jeden proces na raz.

# KILL PID1 PID2 PID3 lub # KILL -9 PID1 PID2 PID3 lub # KILL -SIGKILL PID1 PID2 PID3 

Co jeśli proces ma zbyt wiele instancji i szereg procesów potomnych, mamy polecenie ”zabić wszystkich' Lub Pkill. Te dwa są jedynymi poleceniami tej rodziny, które przyjmują nazwę procesu jako argument na miejscu numeru procesu.

Składnia:
# Killall [Signal lub opcja] Nazwa procesu lub # nazwa procesu pkill 

Zabijać wszystkie Instancje MySQL Wraz z procesami dziecięcymi użyj polecenia w następujący sposób.

# Killall mysqld lub # pkill mysqld 

Zawsze możesz zweryfikować status procesu, jeśli działa, czy nie, używając dowolnego z poniższych poleceń.

# Service MySQL Status lub # Status Systemctl Mysql # PGrep Mysql # PS -AUX | Grep Mysql 

To wszystko na razie, z mojej strony. Wkrótce znowu będę tutaj z kolejnym interesującym i pouczającym tematem. Do tego czasu bądź na bieżąco z połączeniem Tecmint, i zdrowe. Nie zapomnij dać swojego cenne informacje zwrotne W sekcji komentarzy.