System operacyjny Linux jest dostarczany z polecenie zabicia do zakończenia procesu. Polecenie umożliwia kontynuowanie działania serwera bez konieczności ponownego uruchamiania po dużej zmianie/aktualizacji. Nadchodzi wielka moc Linuksa i to jest jeden z powodów, dla których Linux działa 90% serwerów na naszej planecie.
Zabić polecenie wyślij sygnał, określony sygnał, aby był doskonalszy dla procesu. Polecenie kill można wykonać na wiele sposobów, bezpośrednio lub ze skryptu powłoki.
Za pomocą zabić polecenie z /usr/bin zapewnić ci dodatkową funkcję, aby zabij proces według nazwy procesu za pomocą zabić.
Wspólna składnia dla polecenie zabicia jest:
# kill [sygnał lub opcja] PID(y)
Dla polecenie zabicia a Nazwa sygnału możliwe:
Nazwa sygnałuWartość sygnałuZachowanie SIGHUP 1 Rozłączenie. SIGKILL 9 Sygnał zabójstwa. SIGTERM 15 Zakończ
Wyraźnie z powyższego zachowania SIGTERM jest domyślnym i najbezpieczniejszym sposobem na zabicie procesu. ZGŁOSZENIE jest mniej bezpiecznym sposobem na zabicie procesu, ponieważ
SIGTERM. SIGKILL jest najbardziej niebezpiecznym sposobem spośród powyższych trzech, aby zabić proces, który kończy proces bez zapisywania.Aby zabić proces, musimy znać Identyfikator procesu procesu. A Proces jest instancją programu. Za każdym razem, gdy program się uruchamia, automatycznie unikalny PID jest generowany dla tego procesu.
Każdy proces w Linux, mieć pid. Pierwszym procesem, który rozpoczyna się po uruchomieniu systemu Linux, jest – rozpocząć proces, stąd przypisywana jest mu wartość „1w większości przypadków.
Przeczytaj też: Wszystko, co musisz wiedzieć o procesach w systemie Linux [Kompleksowy przewodnik]
W tym jest procesem nadrzędnym i nie można go w ten sposób zabić, co zapewnia, że proces nadrzędny nie zostanie przypadkowo zabity. W tym decyduje i pozwala się zabić, gdzie kill jest jedynie prośbą o wyłączenie.
Aby poznać wszystkie procesy i odpowiednio ich przypisane pid, uruchom następujące polecenie ps.
# ps -A
PID TTY CZAS CMD 1? 00:00:01 początek 2? 00:00:00 wątek 3? 00:00:00 migracja/0 4? 00:00:00 ksoftirqd/0 5? 00:00:00 migracja/0 6? 00:00:00 strażnik/0 7? 00:00:01 wydarzenia/0 8? 00:00:00 grupa 9? 00:00:00 khelper 10? 00:00:00 netto 11? 00:00:00 asynchroniczna/mg 12? 00:00:00 13? 00:00:00 sync_supers 14? 00:00:00 bdi-domyślnie 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 w godz./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
1684
Innym sposobem na osiągnięcie powyższego celu jest przestrzeganie poniższej składni.
# ps aux | grep mysqld
pierwiastek 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 --basedir=/usr --user=mysql. mysql 1684 0,1 0,5 136884 21844? Sl 09:49 1:09 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log -- pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock. korzeń 20844 0.0 0.0 4356 740 pkt/0 S+ 21:39 0:00 grep mysqld
Przeczytaj też: 30 przydatnych przykładów „poleceń ps” do monitorowania procesów w systemie Linux
Zanim zrobimy krok do przodu i wykonamy polecenie zabicia, kilka ważnych punktów, na które należy zwrócić uwagę:
Innym sposobem wykonania tej samej funkcji jest wykonanie „pgrep' Komenda.
# pgrep mysql
3139
Aby zabić powyższy proces PID, użyj polecenia kill, jak pokazano.
zabić -9 3139
Powyższe polecenie zabije proces mając pid=3139, gdzie PID jest Wartość numeryczna procesu.
Innym sposobem wykonania tej samej funkcji może być przepisanie jako.
# zabić -SIGTERM 3139
Podobnie 'zabić -9 PID' jest podobne do 'zabić -SIGKILL PID' i wzajemnie.
Musisz być świadomy nazwy procesu, zanim zabicie i wprowadzenie niewłaściwej nazwy procesu może cię wkręcić.
# 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 wiele procesów podrzędnych, mamy polecenie „zabić wszystkich‘. Jest to jedyne polecenie z tej rodziny, które jako argument zamiast numeru procesu przyjmuje nazwę procesu.
# killall [sygnał lub opcja] Nazwa procesu
Zabić wszystkich instancje mysql wraz z procesami potomnymi użyj następującego polecenia.
# killall mysqld
Zawsze możesz sprawdzić stan procesu, czy jest on uruchomiony, czy nie, używając dowolnego z poniższych poleceń.
# stan usługi mysql. # pgrep mysql. # ps-aux | grep mysql
Z mojej strony to na razie wszystko. Niedługo będę tu ponownie z innym interesującym i pouczającym tematem. Do tego czasu bądź na bieżąco, połączony z Tecmint i zdrowe. Nie zapomnij podać swojego cenna informacja zwrotna w sekcji komentarzy.