logo

Kako ubiti proces v Linuxu | Kill Command

ukaz kill v Linuxu (ki se nahaja v /bin/kill) je vgrajen ukaz, ki se uporablja za ročno prekinitev procesov. ubiti ukaz pošlje signal procesu, ki prekine proces. Če uporabnik ne določi nobenega signala, ki naj bo poslan skupaj z ukazom kill, potem je privzeto TERMIN se pošlje signal, ki prekine proces.

Osnovna sintaksa ukaza kill v Linuxu

Osnovna sintaksa ukaza `kill` je naslednja:



Sintaksa:

kill [signal] PID>

tukaj,

java celo število
  • PID = Ukaz `kill` zahteva ID procesa (PID) procesa, ki ga želimo prekiniti.
  • [signal] = Določiti moramo signal in če ga ne podamo, privzeti signal ` TERMIN` se pošlje za prekinitev postopka

Signale je mogoče določiti na tri načine:

Signale je mogoče določiti na tri načine; so naslednji:



1. Po številki:

Signal lahko določimo s številko. Na primer, imamo PID ` 1212 ` in želite poslati signal `SIGKILL` za uničenje tega PID-a. SIGKILL ima številko signala ` 9 ` (Za iskanje signalnih številk zaženite ukaz `kill -l`).

Sintaksa:

kill -9 1212>

2. S predpono SIG (npr. -SIGkill)

Signal lahko določimo tudi s predpono SIG. Na primer, poslati moramo signal ` TERMIN ` in PID je ` 1432 `. Za samo preverjanje številke signala signala `SIGTERM` lahko uporabimo ukaz `kill -l`.



Sintaksa:

kill -SIGTERM 1432>

3. Brez predpone SIG:

Signale lahko določimo tudi brez uporabe predpone SIG. Na primer, če želite poslati signal ` TERMIN` in PID ` 1234 `. Za samo preverjanje številke signala `TERM` signala lahko uporabimo ukaz `kill -l`.

Sintaksa:

kill -TERM 1234>

Nekateri pogosti signali v ukazu kill

Spodnja tabela prikazuje nekatere pogoste signale in njihove ustrezne številke.

Ime signala Številka signala Opis
PRIJAVI SE 1 Zaznana je prekinitev na krmilnih terminalih ali smrt krmilnega procesa.
SIGINT 2 Prekinja s tipkovnice.
SIGKILL 9 Ubija signal.
TERMIN petnajst Prekinja signal.

Za preverjanje imena in številke signala lahko uporabimo ` ubiti -l ` ukaz.

Možnosti in primeri ukaza kill v Linuxu

ubiti -l Možnost

Za prikaz vseh razpoložljivih signalov lahko uporabite spodnjo ukazno možnost:

mize iz lateksa

Sintaksa:

kill -l>

ubiti -l

Opomba:

  • Negativne vrednosti PID se uporabljajo za označevanje ID-ja skupine procesov. Če posredujete ID skupine procesov, bodo vsi procesi znotraj te skupine prejeli signal.
  • PID -1 je zelo poseben, saj označuje vse procese razen kill in init, ki je nadrejeni proces vseh procesov v sistemu.
  • Za prikaz seznama tekočih procesov uporabite ukaz ps in to vam bo pokazalo izvajajoče se procese z njihovo številko PID. Če želite določiti, kateri proces naj prejme signal za zaustavitev, moramo zagotoviti PID.

Sintaksa:

ps>

ps

ubij PID Možnost

Ta možnost določa ID procesa, ki ga želite uničiti.

Sintaksa:

kill pid>

ubiti -s Možnost

Ta možnost določa signal, ki bo poslan procesu.

Sintaksa:

kill -signal pid>

kill Command v Linuxu - pogosta vprašanja

Kako ubiti proces iz ukazne vrstice Linuxa?

Če želite uničiti proces iz ukazne vrstice Linux, lahko uporabitekill>ukaz, ki mu sledi ID procesa (PID) ciljnega procesa. Če želite na primer prekiniti proces s PID 1234, uporabite naslednji ukaz:

kill 1234>

Privzeto jekill>ukaz pošlje signal SIGTERM, ki procesu omogoči izvajanje operacij čiščenja pred prekinitvijo. Če se proces ne odzove na SIGTERM ali če je potrebna takojšnja prekinitev, lahko uporabite signal SIGKILL z-9>možnost:

kill -9 1234>

Pomembno je vedeti, da lahko prisilna prekinitev procesa s SIGKILL povzroči izgubo ali poškodbo podatkov, zato je priporočljivo, da najprej preizkusite SIGTERM in uporabite SIGKILL le, če je to potrebno.

Kako ubiti več procesov hkrati?

Ukaz kill lahko uporabimo za ubijanje več procesov hkrati. Samo določiti moramo več PID-jev, ločenih s presledki, lahko pa uporabimo tudi ukaz `killall`, da uničimo vse procese z določenim imenom.

Na primer:

Če želimo uničiti PID-je procesov, kot so 1234, 4321 in 2342, lahko uporabimo naslednji ukaz:

kill 1234 4321 2342>

Če želimo uničiti vse procese z imenom firefox. Uporabimo lahko naslednji ukaz.

killall firefox>

Ali je varno uničiti sistemske procese?

Ne, pomembno je opozoriti, da uničite le procese, za katere vemo, da jih je varno uničiti, uničenje sistemskih procesov pa lahko povzroči nestabilnost sistema. Vedno je bolje uporabiti druge metode, kot je ponovni zagon sistema ali prepoznavanje temeljnega vzroka težave in njegovo odpravljanje.

Kakšna je razlika med SIGTERM in SIGKILL v ukazu `kill` v Linuxu?

SIGTERM, pošlje procesu zaključek signal, ki pomaga pri elegantnem izhodu. Medtem ko SIGKILL procesu pošlje signal za uničenje, ki procese prisilno in takoj prekine.

Na primer:

string.valueof java

Za pošiljanje signala `SIGTERM` in PID `4321` lahko uporabimo naslednji ukaz.

kill -15 4321>

Za pošiljanje signala `SIGKILL` in PID `4321` lahko uporabimo naslednji ukaz.

kill -9 4321>

Kako najdem ID procesa (PID) določenega programa v Linuxu?

Če želite poiskati PID določenega programa, lahko uporabitepgrep>ukaz, ki mu sledi ime programa. Če želite na primer najti PID procesa firefox, bi vnesli:

pgrep firefox>

Kakšen je namenpkill>in kako se razlikuje od ukazakill>ukaz?

Thepkill>ukaz se uporablja za pošiljanje signalov procesom na podlagi njihovega imena, kar zagotavlja bolj priročen način za prekinitev procesov. Razlikuje se odkill>ukaz tako, da uporabnikom omogoči, da določijo procese po imenu namesto PID.

Kako lahko preverim porabo virov (CPE, pomnilnik) določenega procesa v Linuxu?

Če želite preveriti porabo virov določenega procesa, lahko uporabitetop>skupaj z ID-jem procesa (PID). Če želite na primer spremljati uporabo virov procesa s PID 1234, bi zagnali:

top -p 1234>

Zaključek

Ukaz `kill` v Linuxu je zelo močan pripomoček za upravljanje procesov. Razumeli smo različne načine določanja signalov in razpoložljivih možnosti v ukazu kill, kar nam lahko pomaga pri učinkovitem upravljanju naših sistemskih virov ter hitrem in učinkovitem reševanju težav.