Comanda kill în Linux (situată în /bin/kill), este o comandă încorporată care este folosită pentru a încheia procesele manual. ucide comanda trimite un semnal unui proces care încheie procesul. Dacă utilizatorul nu specifică niciun semnal care urmează să fie trimis împreună cu comanda kill, atunci este implicit TERMEN este trimis un semnal care încheie procesul.
Sintaxa de bază a comenzii kill în Linux
Sintaxa de bază a comenzii `kill` este următoarea:
Sintaxa:
kill [signal] PID>
Aici,
sari peste lista
- PID = Comanda `kill` necesită ID-ul procesului (PID) al procesului pe care vrem să-l încheiem.
- [semnal] = Trebuie să specificăm semnalul și dacă nu specificăm semnalul, semnalul implicit ` TERMEN` este trimis pentru a încheia procesul
Semnalele pot fi specificate în trei moduri:
Semnalele pot fi specificate în trei moduri; sunt după cum urmează:
1. După număr:
Putem specifica un semnal folosind un număr. De exemplu, avem un PID ` 1212 ` și doriți să trimiteți un semnal `SIGKILL` pentru a ucide acest PID. SIGKILL are un număr de semnal de ` 9 ` (Pentru a găsi numerele de semnal, executați comanda `kill -l`).
Sintaxă:
kill -9 1212>
2. Cu prefix SIG (de ex/ -SIGkill)
De asemenea, putem specifica semnalul folosind prefixul SIG. De exemplu, trebuie să trimitem un semnal ` TERMEN ȚINTĂ ` și PID este ` 1432 `. Pentru a verifica doar numărul semnalului semnalului `SIGTERM` putem folosi comanda `kill -l`.
Sintaxă:
kill -SIGTERM 1432>
3. Fără prefix SIG:
De asemenea, putem specifica semnale fără a folosi prefixul SIG. De exemplu, dacă doriți să trimiteți semnal ` TERMEN` și PID ` 1234 `. Pentru a verifica doar numărul de semnal al semnalului `TERM` putem folosi comanda `kill -l`.
Sintaxă:
kill -TERM 1234>
Câteva semnale comune în kill Command
Tabelul de mai jos prezintă câteva semnale comune și numerele lor corespunzătoare.
| Nume semnal | Numărul semnalului | Descriere |
|---|---|---|
| SUPRAȚI | 1 | A fost detectată blocarea la terminalele de control sau moartea procesului de control. |
| SIGINT | 2 | Se întrerupe de la tastatură. |
| SIGKILL | 9 | Omoară semnalul. |
| TERMEN ȚINTĂ | cincisprezece | Se termină semnalul. |
Pentru a verifica numele și numărul semnalului putem folosi ` ucide -l ` comanda.
Opțiuni și exemple de comandă kill în Linux
ucide -l Opțiune
Pentru a afișa toate semnalele disponibile, puteți utiliza opțiunea de comandă de mai jos:
Sintaxă:
kill -l>
ucide -l
Notă:
- Valorile PID negative sunt utilizate pentru a indica ID-ul grupului de procese. Dacă treceți un ID de grup de procese, atunci tot procesul din acel grup va primi semnalul.
- Un PID de -1 este foarte special, deoarece indică toate procesele, cu excepția kill și init, care este procesul părinte al tuturor proceselor din sistem.
- Pentru a afișa o listă de procese care rulează, utilizați comanda ps iar aceasta vă va arăta procesele care rulează cu numărul lor PID. Pentru a specifica ce proces ar trebui să primească semnalul de ucidere, trebuie să furnizăm PID-ul.
Sintaxă:
ps>
ps
ucide PID Opțiune
Această opțiune specifică ID-ul procesului care urmează să fie oprit.
Sintaxă:
pawandeep rajan
kill pid>
ucide -s Opțiune
Această opțiune specifică semnalul care trebuie trimis procesului.
Sintaxă:
kill -signal pid>
kill Command în Linux - Întrebări frecvente
Cum să omorâți un proces din linia de comandă Linux?
Pentru a opri un proces din linia de comandă Linux, puteți utiliza
kill>comanda urmată de ID-ul procesului (PID) al procesului țintă. De exemplu, pentru a încheia un proces cu PID 1234, veți folosi următoarea comandă:kill 1234>În mod implicit,
kill>comanda trimite semnalul SIGTERM, permițând procesului să efectueze operațiuni de curățare înainte de terminare. Dacă procesul nu răspunde la SIGTERM sau dacă este necesară încheierea imediată, puteți utiliza semnalul SIGKILL cu-9>opțiune:kill -9 1234>Este important de reținut că încheierea forțată a unui proces cu SIGKILL poate duce la pierderea sau coruperea datelor, așa că este recomandat să încercați mai întâi SIGTERM și să recurgeți la SIGKILL numai dacă este necesar.
Cum să omorâți mai multe procese simultan?
Putem folosi comanda kill pentru a ucide mai multe procese simultan. Trebuie doar să specificăm mai multe PID-uri separate prin spații, sau putem folosi și comanda `killall` pentru a distruge toate procesele cu un nume specific.
De exemplu:
gimp înlocuiți culoareaDacă vrem să omorâm PID-urile proceselor precum 1234, 4321 și 2342, putem folosi următoarea comandă:
kill 1234 4321 2342>Dacă vrem să omorâm toate procesele cu numele firefox. Putem folosi următoarea comandă.
killall firefox>
Este sigur să omorâți procesele sistemului?
Nu, este important să rețineți că numai procesele de ucidere despre care știm că sunt sigure de ucis, iar uciderea proceselor de sistem poate cauza instabilitate a sistemului. Este întotdeauna mai bine să utilizați alte metode, cum ar fi repornirea sistemului sau identificarea cauzei principale a problemei și remedierea acesteia.
Care este diferența dintre SIGTERM și SIGKILL în comanda `kill` în Linux?
SIGTERM, trimite un semnal de terminare procesului care ajută la ieșire cu grație. În timp ce SIGKILL trimite un semnal de ucidere către proces, care încheie procesele cu forță și imediat.
De exemplu:
Pentru a trimite semnalul `SIGTERM` și PID `4321`, putem folosi următoarea comandă.
kill -15 4321>Pentru a trimite semnalul `SIGKILL` și PID `4321`, putem folosi următoarea comandă.
kill -9 4321>
Cum pot găsi ID-ul procesului (PID) al unui anumit program în Linux?
Pentru a găsi PID-ul unui anumit program, puteți utiliza
pgrep>comanda urmată de numele programului. De exemplu, pentru a găsi PID-ul procesului Firefox, ar trebui să introduceți:pgrep firefox>
Care este scopulpkill>comanda și cum diferă dekill>comanda?
The
pkill>comanda este folosită pentru a trimite semnale către procese pe baza numelui lor, oferind o modalitate mai convenabilă de a termina procesele. Se deosebește dekill>comandă permițând utilizatorilor să specifice procesele după nume, mai degrabă decât după PID.
Cum pot verifica utilizarea resurselor (CPU, memorie) unui anumit proces în Linux?
Pentru a verifica utilizarea resurselor unui anumit proces, puteți utiliza
top>comanda împreună cu ID-ul procesului (PID). De exemplu, pentru a monitoriza utilizarea resurselor unui proces cu PID 1234, veți rula:top -p 1234>
Concluzie
Comanda `kill` din Linux este un utilitar foarte puternic pentru gestionarea proceselor. Am înțeles diferitele moduri de a specifica semnalele și opțiunile disponibile în comanda kill, care ne pot ajuta să gestionăm resursele sistemului în mod eficient și să rezolvăm problemele rapid și eficient.
ucide -s