Kaip nužudyti procesą Linux | Nužudyti komandą

„Linux“ komanda kill komanda (esanti /bin/kill) yra integruota komanda, kuri naudojama procesams užbaigti rankiniu būdu. nužudyti komanda siunčia signalą procesui, kuris užbaigia procesą. Jei vartotojas nenurodo jokio signalo, kuris turi būti siunčiamas kartu su nužudymo komanda, tada numatytasis TERMINAS siunčiamas signalas, kuris užbaigia procesą.

Pagrindinė nužudymo komandos sintaksė sistemoje Linux

Pagrindinė komandos „kill“ sintaksė yra tokia:

Sintaksė:

kill [signal] PID 

Čia

  • PID = Komandai „nužudyti“ reikalingas proceso, kurį norime nutraukti, ID (PID).
  • [signalas] = Turime nurodyti signalą, o jei nenurodome, numatytąjį signalą ` TERMINAS“. siunčiamas nutraukti procesą

Signalus galima nurodyti trimis būdais:

Signalus galima nurodyti trimis būdais; jie yra tokie:

1. Pagal skaičių:

Signalą galime nurodyti naudodami skaičių. Pavyzdžiui, mes turime PID ` 1212 m “ ir norite išsiųsti „SIGKILL“ signalą, kad užmuštų šį PID. SIGKILL signalo numeris yra ` 9 ` (Norėdami rasti signalo numerius, paleiskite komandą 'kill -l').

Sintaksė:

kill -9 1212 

2. Su SIG priešdėliu (pvz./ -SIGkill)

Taip pat galime nurodyti signalą naudodami SIG prefiksą. Pavyzdžiui, turime siųsti signalą ` TERMINAS ', o PID yra ' 1432 m `. Norėdami tiesiog patikrinti „SIGTERM“ signalo numerį, galime naudoti komandą „kill -l“.

Sintaksė:

kill -SIGTERM 1432 

3. Be SIG priešdėlio:

Taip pat galime nurodyti signalus nenaudodami SIG prefikso. Pavyzdžiui, jei norite siųsti signalą ` TERMINAS“. ir PID 1234 m `. Norėdami tiesiog patikrinti signalo `TERM` signalo numerį, galime naudoti komandą `kill -l`.

Sintaksė:

kill -TERM 1234 

Kai kurie bendrieji signalai nužudymo komandoje

Žemiau esančioje lentelėje pateikti kai kurie įprasti signalai ir atitinkami jų numeriai.

Signalo pavadinimas Signalo numeris apibūdinimas
SIGHUP 1 Jis aptiktas valdymo terminaluose arba valdymo proceso mirtis.
SIGINTAS 2 Jis pertraukia iš klaviatūros.
SIGKILL 9 Tai užmuša signalą.
TERMINAS penkiolika Jis nutraukia signalą.

Norėdami patikrinti signalo pavadinimą ir numerį, galime naudoti ` nužudyti -l ` komanda.

„Linux“ komandos nužudymo parinktys ir pavyzdžiai

nužudyti -l Parinktis

Norėdami parodyti visus galimus signalus, galite naudoti toliau pateiktą komandos parinktį:

Sintaksė:

kill -l 

nužudyti -l

Pastaba:

  • Neigiamos PID reikšmės naudojamos proceso grupės ID nurodyti. Jei perduodate proceso grupės ID, visas tos grupės procesas gaus signalą.
  • PID –1 yra labai ypatingas, nes jis nurodo visus procesus, išskyrus kill ir init, kurie yra pirminis visų sistemos procesų procesas.
  • Norėdami parodyti vykdomų procesų sąrašą, naudokite komandą ps ir tai parodys vykdomus procesus su jų PID numeriu. Norėdami nurodyti, kuris procesas turėtų gauti nužudymo signalą, turime pateikti PID.

Sintaksė:

ps 

ps

nužudyti PID Parinktis

Ši parinktis nurodo proceso ID, kuris turi būti sustabdytas.

Sintaksė:

kill pid 

nužudyti -s Parinktis

Ši parinktis nurodo signalą, kuris turi būti siunčiamas procesui.

Sintaksė:

kill -signal pid 

nužudyti komandą „Linux“ – DUK

Kaip nužudyti procesą iš „Linux“ komandų eilutės?

Norėdami sustabdyti procesą iš Linux komandinės eilutės, galite naudoti kill> komandą, po kurios nurodomas tikslinio proceso proceso ID (PID). Pavyzdžiui, norėdami užbaigti procesą su PID 1234, naudokite šią komandą:

kill 1234 

Pagal numatytuosius nustatymus, kill> komanda siunčia SIGTERM signalą, leidžiantį procesui atlikti valymo operacijas prieš nutraukiant. Jei procesas nereaguoja į SIGTERM arba jei reikia nedelsiant nutraukti, galite naudoti SIGKILL signalą su -9> variantas:

kill -9 1234 

Svarbu pažymėti, kad priverstinis proceso nutraukimas naudojant SIGKILL gali sukelti duomenų praradimą arba sugadinimą, todėl pirmiausia rekomenduojama išbandyti SIGTERM ir naudoti SIGKILL tik prireikus.

Kaip vienu metu nužudyti kelis procesus?

Galime naudoti nužudymo komandą, norėdami vienu metu nužudyti kelis procesus. Mums tereikia nurodyti kelis PID, atskirtus tarpais, arba taip pat galime naudoti komandą „killall“, kad nužudytume visus procesus konkrečiu pavadinimu.

Pavyzdžiui:

Jei norime nužudyti procesų PID, pvz., 1234, 4321 ir 2342, galime naudoti šią komandą:

kill 1234 4321 2342 

Jei norime nužudyti visus procesus pavadinimu firefox. Galime naudoti šią komandą.

killall firefox 

Ar saugu naikinti sistemos procesus?

Ne, svarbu pažymėti, kad tik naikinimo procesai, kuriuos žinome, yra saugūs, o sistemos procesų sunaikinimas gali sukelti sistemos nestabilumą. Visada geriau naudoti kitus metodus, pvz., iš naujo paleisti sistemą arba nustatyti pagrindinę problemos priežastį ir ją išspręsti.

Kuo skiriasi SIGTERM ir SIGKILL komandoje „kill“ sistemoje „Linux“?

SIGTERM, jis siunčia proceso pabaigos signalą, kuris padeda grakščiai išeiti. Tuo tarpu SIGKILL procesui siunčia žudymo signalą, kuris procesus nutraukia jėga ir nedelsiant.

Pavyzdžiui:

Norėdami siųsti signalą `SIGTERM` ir PID `4321`, galime naudoti šią komandą.

kill -15 4321 

Norėdami siųsti signalą 'SIGKILL' ir PID '4321', galime naudoti šią komandą.

kill -9 4321 

Kaip galiu rasti konkrečios programos proceso ID (PID) sistemoje „Linux“?

Norėdami rasti konkrečios programos PID, galite naudoti pgrep> komandą, po kurios nurodomas programos pavadinimas. Pavyzdžiui, norėdami rasti „Firefox“ proceso PID, turite įvesti:

pgrep firefox 

Koks yra tikslas pkill> komandą ir kuo ji skiriasi nuo kill> komandą?

The pkill> komanda naudojama siunčiant signalus procesams pagal jų pavadinimą, suteikiant patogesnį būdą užbaigti procesus. Jis skiriasi nuo kill> komanda, leidžianti vartotojams nurodyti procesus pagal pavadinimą, o ne pagal PID.

Kaip galiu patikrinti konkretaus proceso išteklių (procesoriaus, atminties) naudojimą sistemoje Linux?

Norėdami patikrinti konkretaus proceso išteklių naudojimą, galite naudoti top> komandą kartu su proceso ID (PID). Pavyzdžiui, norėdami stebėti proceso su PID 1234 išteklių naudojimą, paleiskite:

top -p 1234 

Išvada

„Linux“ komanda „nužudyti“ yra labai galinga procesų valdymo priemonė. Supratome skirtingus būdus, kaip nurodyti signalus ir galimas parinktis nužudymo komandoje, kuri gali padėti efektyviai valdyti sistemos išteklius ir greitai bei efektyviai išspręsti problemas.