Linux Command Line Tutorial For Beginners 15 - kill command
Cuprins:
kill
comanda- Terminarea proceselor folosind comanda de
kill
- Procesele de reîncărcare folosind comanda de
kill
- Concluzie
Linux este un sistem de operare excelent și avansat, dar nu este perfect. Din când în când, unele aplicații pot începe să se comporte în mod eronat și să devină fără răspuns sau să înceapă să consume o mulțime de resurse de sistem. Aplicațiile fără răspuns nu pot fi repornite, deoarece procesul inițial al cererii nu se închide complet. Singura soluție este fie să reporniți sistemul, fie să omori procesul de aplicare.
Există mai multe utilități care vă permit să încheiați procesele errante cu
kill
fiind cea mai frecvent utilizată.
kill
comanda
kill
este o cochilie construită în majoritatea scoicilor derivate din Bourne precum Bash și Zsh. Comportamentul comenzii este ușor diferit între shells și executabilul independent
/bin/kill
.
Utilizați comanda de
type
pentru a afișa toate locațiile din sistemul dvs. care conțin
kill
:
type -a kill
kill is a shell builtin kill is /bin/kill
Rezultatul de mai sus spune că shell-ul încorporat are prioritate față de executabilul autonom și că este folosit de fiecare dată când tastați
kill
. Dacă doriți să utilizați binarul, tastați calea completă către fișier
/bin/kill
., vom folosi Bash builtin.
Sintaxa comenzii
kill
ia următoarea formă:
kill…
Comanda
kill
trimite un semnal proceselor sau grupurilor de proces specificate, determinându-le să acționeze în funcție de semnal. Când semnalul nu este specificat, acesta este implicit la
-15
(-TERM).
Semnalele cele mai utilizate sunt:
-
1
(HUP
) - Reîncărcați un proces.9
(KILL
) - Omoară un proces.15
(TERM
) - Opriți cu grație un proces.
Pentru a obține o listă cu toate semnalele disponibile, invocați comanda cu opțiunea
-l
:
kill -l
Semnalele pot fi specificate în trei moduri diferite:
- Utilizarea numărului (de exemplu,
-1
sau-s 1
). Folosirea prefixului „SIG” (de exemplu,-SIGHUP
sau-s SIGHUP
).-SIGHUP
prefixul „SIG” (de exemplu,-SIGHUP
sau-s HUP
).
Următoarele comenzi sunt echivalente între ele:
kill -1 PID_NUMBER
kill -SIGHUP PID_NUMBER
kill -HUP PID_NUMBER
PID-urile furnizate pentru comanda de
kill
pot fi una dintre următoarele:
- Dacă
PID
este mai mare decât zero, semnalul este trimis procesului cu ID egal cuPID
. DacăPID
este egal cu zero, semnalul este trimis la toate procesele din grupul de proces curent. Cu alte cuvinte, semnalul este trimis la toate procesele aparținând GID-ului shell-ului care a invocat comandakill
. Folosiți comandaps -efj
pentru a vizualiza ID-urile grupului de proces (GID). DacăPID
este egal cu-1
, semnalul este trimis la toate procesele cu același UID ca utilizatorul invocând comanda. Dacă utilizatorul invocator este rădăcină, semnalul este trimis la toate procesele, cu excepția inițialului și a procesului dekill
sine. DacăPID
este mai mic de-1
, semnalul este trimis la toate procesele din grupul de procese eq cu GID egal cu valoarea absolută aPID
.
Utilizatorii obișnuiți pot trimite semnale la propriile lor procese, dar nu cele care aparțin altor utilizatori, în timp ce utilizatorul root poate trimite semnale proceselor altor utilizatori.
Terminarea proceselor folosind comanda de
kill
Pentru a încheia sau ucide un proces cu comanda
kill
, mai întâi trebuie să găsiți numărul de identificare al procesului (PID). Puteți face acest lucru folosind diferite comenzi, cum ar fi
top
,
ps
,
pidof
și
pgrep
.
Să zicem că browserul Firefox nu a răspuns, și trebuie să omori procesul Firefox. Pentru a găsi PID-urile browserului folosiți comanda
pidof
:
pidof firefox
Comanda va imprima ID-urile tuturor proceselor Firefox:
6263 6199 6142 6076
După ce cunoașteți numerele proceselor, le puteți încheia pe toate trimițând semnalul
TERM
:
kill -9 2551 2514 1963 1856 1771
În loc să căutați PID-uri și apoi să încheiați procesele, puteți combina comenzile de mai sus într-una:
Procesele de reîncărcare folosind comanda de
kill
Un alt caz obișnuit de utilizare pentru
kill
este trimiterea semnalului
HUP
, care indică procesele de reîncărcare a setărilor sale.
De exemplu, pentru a reîncărca Nginx, trebuie să trimiteți un semnal procesului principal. ID-ul de proces al procesului principal Nginx poate fi găsit în fișierul
nginx.pid
, care este de obicei localizat în directorul
/var/run
.
Folosiți comanda
cat
pentru a găsi PID-ul principal:
cat /var/run/nginx.pid
30251
După ce ați găsit PID-ul principal, reîncărcați setările Nginx tastând:
sudo kill -1 30251
Comanda de mai sus trebuie rulată ca root sau utilizator cu privilegii sudo.
Concluzie
Comanda
kill
este utilizată pentru a trimite un semnal proceselor. Semnalul cel mai frecvent utilizat este
SIGKILL
sau
-9
, care încheie procesele date.
Utilizați linia de comandă cu comandă
Integrați linia de comandă, interfața grafică și o limbă puternică cu pachetul de instrumente Take Command. > Nu-ți place când vânezi un program pe care trebuie să-l faci, să-l găsești, și apoi să descoperi că face mai mult? Am găsit Command Command (100 $, încercare gratuită de 30 de zile) după ce am fost frustrat de linia de comandă necorespunzătoare din Windows. Am descoperit că mi-a dat ce vroiam și multe lucruri pe care nu știam că le-am vrut - dar acum cu siguranță o fac.
Scandalurile de rating omoară peste 1000 de aplicații pentru iPhone
Apple află că aplicațiile dezvoltatorilor cu un grad ridicat de apreciere nu erau prea bine privite și le trag de la App Store
Omoară o stare proastă cu MoodTurn
ÎNainte să te întorci în Hulk și să spargi totul în calea ta, încercați să îndreptați browserul în acest loc calmant și liniștitor.