Sistemul de operare Linux vine cu ucide comanda pentru a încheia un proces. Comanda face posibilă continuarea rulării serverului fără a fi nevoie să reporniți după o modificare / actualizare majoră. Aici vine marea putere a Linux și acesta este unul dintre motivele pentru care Linux funcționează 90% de servere, pe planetă.
Ucide comanda trimite un semnal, un semnal specificat pentru a fi mai perfect pentru un proces. Comanda kill poate fi executată în mai multe moduri, direct sau dintr-un script shell.
Folosind ucide comanda din /usr/bin vă oferă câteva caracteristici suplimentare pentru ucide un proces după numele procesului folosind pkill.
Sintaxa comună pentru ucide comanda este:
# kill [semnal sau opțiune] PID (uri)
Pentru o ucide comanda A Numele semnalului ar putea fi:
Numele semnaluluiValoarea semnaluluiComportament SIGHUP 1 Hangup. SIGKILL 9 Kill Signal. SIGTERM 15 Terminați
În mod clar din comportamentul de mai sus SIGTERM este modalitatea implicită și cea mai sigură de a ucide un proces.
LUMEA este un mod mai puțin sigur de a ucide un proces ca SIGTERM. SIGKILL este cel mai nesigur mod dintre cele trei de mai sus, de a ucide un proces care termină un proces fără a salva.Pentru a ucide un proces, trebuie să știm ID-ul procesului unui proces. A Proces este o instanță a unui program. De fiecare dată când pornește un program, automat un unic PID este generat pentru acel proces.
Fiecare proces din Linux, ia o pid. Primul proces care începe la pornirea sistemului Linux este - proces init, prin urmare i se atribuie o valoare de „1‘În majoritatea cazurilor.
Citește și: Tot ce trebuie să știți despre procesele din Linux [Ghid cuprinzător]
Init este procesul master și nu poate fi ucis în acest fel, ceea ce asigură că procesul master nu este ucis accidental. Init decide și se lasă ucis, unde uciderea este doar o cerere de oprire.
Să cunoască toate procesele și corespunzător atribuite acestora pid, executați următoarele ps comanda.
# ps -A
PID TTY TIME CMD 1? 00:00:01 init 2? 00:00:00 kthreadd 3? 00:00:00 migrație / 0 4? 00:00:00 ksoftirqd / 0 5? 00:00:00 migrație / 0 6? 00:00:00 watchdog / 0 7? 00:00:01 evenimente / 0 8? 00:00:00 grupa 9? 00:00:00 khelper 10? 00:00:00 netns 11? 00:00:00 async / mgr 12? 00:00:00 pm 13? 00:00:00 sync_supers 14? 00:00:00 bdi-implicit 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
Ce zici de personalizarea rezultatului de mai sus folosind sintaxa ca „proces pidof‘.
# pidof mysqld
1684
O altă modalitate de a atinge obiectivul de mai sus este să urmați sintaxa de mai jos.
# ps aux | grep mysqld
rădăcină 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. rădăcină 20844 0,0 0,0 4356 740 puncte / 0 S + 21:39 0:00 grep mysqld
Citește și: 30 Exemple utile de „comandă ps” pentru monitorizarea proceselor Linux
Înainte să facem un pas înainte și să executăm un ucide comanda, trebuie remarcate câteva puncte importante:
Un alt mod de a îndeplini aceeași funcție este să executați „pgrep‘Comanda.
# pgrep mysql
3139
Pentru a ucide procesul de mai sus PID, utilizați comanda kill așa cum se arată.
ucide -9 3139
Comanda de mai sus va ucide procesul care are pid=3139, Unde PID este un Valoare numerică de proces.
Un alt mod de a îndeplini aceeași funcție poate fi rescris ca.
# kill -SIGTERM 3139
În mod similar ‘ucide -9 PID„Este similar cu„ucide -SIGKILL PID' si invers.
Trebuie să fiți conștient de numele procesului, înainte de a ucide și de a introduce un nume greșit de proces vă poate înșela.
# pkill mysqld
Ucideți mai multe procese odată.
# kill PID1 PID2 PID3 sau # kill -9 PID1 PID2 PID3 sau # kill -SIGKILL PID1 PID2 PID3
Ce se întâmplă dacă un proces are prea multe instanțe și un număr de procese secundare, avem o comandă „omoara-i pe toti‘. Aceasta este singura comandă a acestei familii, care ia numele procesului ca argument în locul numărului procesului.
# killall [semnal sau opțiune] Nume proces
Să-i omoare pe toți instanțe mysql împreună cu procesele copil, utilizați comanda după cum urmează.
# killall mysqld
Puteți verifica întotdeauna starea procesului dacă acesta rulează sau nu, utilizând oricare dintre comenzile de mai jos.
# serviciu statutul MySQL. # pgrep mysql. # ps -aux | grep mysql
Asta e tot deocamdată, din partea mea. În curând voi fi din nou aici cu un alt subiect interesant și informativ. Până atunci, rămâneți la curent, conectați la Tecmint și sănătos. Nu uitați să le oferiți feedback valoros în secțiunea de comentarii.