Orice ar fi fost, dar unele aplicații Linux, uneori atârnă. În același timp, există situații în care cererea nu răspunde deloc, sau atât de lent încât încheia în mod corect munca sa nu este posibilă. Pentru a obține rapid din situația rezultată ar putea „ucide“ procesul. Pentru ETOG ispolzueyutsya ucide comandă și killall. Acum vom înțelege cum să folosească aceste comenzi, găsiți PID-ul procesului și a trimite un semnal SIGKILL.
Pentru a evita putatsiny, sunt de acord un proces pentru a înțelege programele care rulează pe sistem. De exemplu, dacă împinge câteva ferestre ale browser-ului Mozilla Firefox - acest lucru înseamnă că cele trei procese care rulează.
Determina PID procesului - pentru echipa pidof
PID - identificatorul unic al procesului pe un sistem Linux. Pentru a efectua corect un proces de oprire este mai întâi necesar să se determine PID acestuia. Pentru a face acest lucru, utilizați comanda ps și grep. comandă ps la rândul său, este proiectat pentru a afișa o listă de procese active în sistem și informații despre acestea. Comanda grep este rulat simultan cu ps (în canal), și va efectua o căutare pe rezultatele comenzii ps. Lista toate procesele executând următoarea comandă:
Desigur, PID poate fi definit prin partea de sus. Dar, în cele mai multe cazuri, numărul de procese este prea mare (și schimbă în mod dinamic în partea de sus), astfel încât determina PID nu este atât de ușor de rapid și corect. Doar pentru această comandă utilizare grep. De exemplu, pentru a finaliza procesul de browser-ul Google Chrome trebuie să executați următoarea comandă:
ps axu | grep crom
În cazul nostru, 20474 este PID-ul dorit. Un mod mai simplu - utilizați pidof comanda. Este necesar să se indice numele procesului. De exemplu:
] $ Pidof crom
20728 20706 20668 20647 20586 20574 20553 20508 20474
Finalizarea procesului în Linux - ucide și comenzi killall
Finalizarea procesului de sistemul de operare Linux. știind PID sale, comanda ucide. Merită să cunoască și să înțeleagă: ucide comandă este folosită pentru a trimite un semnal de proces. În mod implicit, dacă nu specificați un semnal pentru a trimite, a trimis un semnal SIGTERM (de la terminarea cuvântul - terminare). SIGTERM indică un proces care trebuie finalizat. Fiecare semnal are numărul său propriu. SIGTERM este numerotată 15. O listă a tuturor semnalelor (și numerele lor), care poate trimite o comandă ucide, pot fi derivate prin efectuarea ucide -l. Pentru a trimite un semnal SIGKILL (are numărul 9) proces în 2811, rula pe linia de comandă:
Astfel, semnalul SIGTERM nu poate opri procesul (de exemplu, atunci când interceptarea sau semnalul de blocare), distrugerea SIGKILL efectuează întotdeauna același proces ca nu poate intercepta sau ignora.
comanda killall pe Linux este proiectat pentru „uciderea“ a tuturor proceselor cu același nume. Acest lucru este convenabil, deoarece nu trebuie să cunoască PID-ul procesului. De exemplu, vrem să închidă toate procesele numite crom. Efectuați într-un terminal:
killall de comandă precum și ucide, implicit trimite SIGTERM semnal. Pentru a trimite un alt semnal este nevoie de a utiliza opțiunea -s. De exemplu:
killall -s 9 crom