„Linux“ operacinė sistema pateikia keletą būdų, kaip nutraukti „Linux“ operacinės sistemos procesą. Akivaizdus būdas sustabdyti programą yra spustelėti mygtuką X viršutiniame kairiajame arba dešiniajame kampe. Tačiau yra begalė kitų būdų užmušti procesą; mes čia aptarėme kitus efektyvius būdus.
Būdai užmušti procesą sistemoje „Linux“
Kontrolės seka
Antras akivaizdus būdas užmušti ką tik pradėtą procesą yra komandų eilutėje įvesti Ctrl-C. „Ctrl-C“ valdymo seką paprastai saugu naudoti, net jei įmanoma prarasti tam tikrus duomenis.
„Ctrl-Z“ seka sustabdys vykdomą procesą. Jis siunčia SIGTSP signalą procesui, kurio numatytasis veiksmas yra proceso sustabdymas.
nužudyti komandas
„Linux“ operacinėje sistemoje yra „kill“ komanda, kurią galite naudoti norėdami nutraukti procesą, kai jie nereaguoja arba sunaudoja per daug išteklių. „Linux“ procesas yra programos egzempliorius.
Unikalus PID automatiškai sugeneruojamas tam procesui, kai programa paleidžiama. „Init“ procesas yra pirmasis procesas, prasidedantis paleidus „Linux“ sistemą ir priskiriant „1“ reikšmę.
Init yra pagrindinis procesas ir jo negalima nužudyti vykdant komandą kill. „Kill“ komanda „init“ procese tėra prašymas išjungti sistemą.
Šis vadovas padės jums atlikti veiksmus ir kelis būdus, kaip nutraukti vykdomą procesą naudojant „Linux“ terminalą.
Šaknies vartotojas turi visus leidimus, reikalingus visiems procesams sunaikinti. Galite gauti šaknies apvalkalą naudodami komandą su arba pridėti komandą sudo prieš komandą ir paleisti ją.
Numatytasis signalas, kurį siunčia komanda „kill“
Užmušus procesą, bus išsiųstas nutraukimo pranešimas į nurodytą procesą. Du pagrindiniai nutraukimo pranešimų tipai:
• SIGTERM - komanda „kill“ pagal numatytuosius nustatymus siunčia SIGTERM signalą. Tai turėtų leisti procesui baigtis taikant įprastas išjungimo procedūras. Tai švelnesnis būdas bandyti nutraukti procesą ir gali būti užblokuotas.
• SIGKILL - tai visada staigiai užmuš procesą. Jei SIGKILL neveikia, operacinė sistema sugedo. Tai greičiausias ir efektyviausias būdas užmušti procesą.
Išvardykite vykstančius procesus
Viršutinė komanda, ps komanda ir pidof komanda yra paprasčiausi būdai peržiūrėti vykdomus procesus „Linux“ sistemoje.
Sintaksė:
ps -e | grep proceso pavadinimas
Žemiau pateiktame ekrano paveikslėlyje parodyta, kaip naudoti komandą ps norint patikrinti, ar sistemoje veikia „MySQL“. Tai suteikia mums MySQL demono PID, kuris yra 1162.
Bendros parinktys, kurias reikia pridėti prie komandos ps
• -a: peržiūrėti visų vartotojų procesus.
• -u: peržiūrėkite išsamią informaciją apie kiekvieną procesą.
• -x: peržiūrėti visus procesus, kuriuos valdo demonai.
ps -e
Sintaksė:
viršuje
Viršutinė komanda parodys PID, vartotoją, ištekliaus pavadinimą ir kiek sistemos išteklių naudoja kiekvienas procesas. Tai naudinga, jei nuspręsite nutraukti bet kurį iš procesų.
Naudojant komandą pgrep, taip pat labai efektyvu gauti atitinkamą proceso ID.
Bendros parinktys, kurias reikia pridėti prie komandos „pgrep“.
• -l: pateikite procesų pavadinimus ir PID.
• -n: grąžinti naujausią procesą.
• -o: grąžina seniausią procesą.
• -u: raskite procesus, kurie priklauso konkrečiam vartotojui.
• -x: raskite procesą, kuris tiksliai atitinka nurodytą modelį.
Komanda pidof naudojama norint rasti proceso IP, jei žinote proceso pavadinimą.
Sintaksė:
pidof
Galimybės:
• -c: pateikia PID viename šakniniame kataloge.
• -o: Bus praleisti tam tikri PID.
• -s: grąžinkite vieną PID.
• -x: pateikia apvalkalų, kuriuose veikia scenarijai, PID.
Procesą sistemoje „Linux“ galite nužudyti taikydami skirtingus metodus, atsižvelgdami į tai, ar žinote proceso PID, proceso pavadinimą ar proceso vykdymo laiką.
killall komanda
Killall komanda naudojama procesams nužudyti pagal pavadinimą. Tai gali užmušti kelis procesus su viena komanda ir pagal nutylėjimą siunčia SIGTERM signalą.
Sintaksė:
killall
Su „killall“ komanda galimos parinktys:
• -e: grąžinkite tikslią proceso pavadinimo atitiktį.
• -I: Komanda ignoruos atvejį, kai randa proceso pavadinimą.
• -i: Jis paprašys papildomos informacijos užmušdamas procesą vardu.
• -u: Tai užmuš procesus, priklausančius nurodytam sistemos vartotojui.
• -v: Tai suteiks grįžtamąjį ryšį, ar nužudymo procesas buvo sėkmingai įvykdytas.
Komanda killall taip pat gali nutraukti procesus „Linux“ sistemoje, atsižvelgdama į procesų vykdymo laiką.
• -o: ši parinktis sunaikins visus procesus ilgiau nei nurodytą laiką.
• -y: ši parinktis sunaikins visus procesus, vykstančius mažiau nei nurodytą laiką.
Pavyzdys:
• killall -o 20m: komanda sunaikins visus senesnius nei 20 minučių procesus.
• Killall -y 20m: komanda sunaikins visus procesus, vykstančius mažiau nei 15 minučių.
nužudyti komandą
Komanda nužudyti nužudys procesą, jei žinote proceso IP.
Sintaksė:
nužudyti
Komanda „kill“ užmuša vieną procesą su nurodytu proceso ID. Komanda atsiųs SIGTERM signalą, kad sustotų ir lauktų, kol bus atliktos įprastos išjungimo procedūros.
Nužudyk -9 komandą
Komanda kill -9 naudojama nereaguojantiems procesams ar paslaugoms nutraukti.
Sintaksė:
nužudyti -9
arba
nužudyk -SIGKILL
Komanda kill -9 siųs SIGKILL signalą, kad procesas būtų nedelsiant sustabdytas. Komanda kill -9 apeis standartinę išjungimo tvarką ir visi neišsaugoti duomenys bus prarasti.
Neatsakančios programos nepaisys komandos „kill“, bet bus nutrauktos, kai bus paskelbta komanda kill -9.
Kiti dažniausiai naudojami nužudymo variantai:
• -1 (HUP): Tai yra „pakabinti“ parinktis ir paprastai yra labai saugi.
• -2 (SIGINT): Tai yra tas pats signalas kaip „Ctrl-C“ ir laikomas saugia alternatyva nužudyti programą.
• -15 (-TERM): tai yra numatytasis nutraukimo signalas ir paprastai yra labai saugus.
Galite gauti išsamų visų galimų signalų sąrašą naudodami komandą kill -l.
pkill komanda
„Pkill“ komanda užmuš procesą, kai žinosite proceso pavadinimą. Pagal nutylėjimą „pkill“ siųs SIGTERM signalą, kad procesas būtų nutrauktas.
Sintaksė:
pkill
„Pkill“ parinktys:
• -n: ši komanda sunaikins naujausius procesus.
• -o: ši komanda sunaikins seniausius procesus.
• -u: ši komanda sunaikins procesus pagal pasirinktą vartotoją.
• -x: ši komanda užmuš procesus, atitinkančius modelį.
• -signalas: siunčia nurodytą signalą, išskyrus numatytąjį signalą SIGTERM.
xkill
„Xkill“ komanda uždarys serverio ryšį su klientais.
xkill
„Xkill“ komanda nutrauks nepageidaujamus serverio procesus.
aukščiausia komanda
Viršutinė komanda suteikia sąsają, per kurią vartotojas gali nurodyti nutraukimo procesą.
Sintaksė:
viršuje
Norėdami užmušti procesą PID, įterpkite k iš sąsajos ir įveskite nurodytą proceso ID.
Pakartoti
• Norėdami užmušti procesą naudodami komandinę eilutę, turite turėti sudo teises.
• Kai generuojate signalą naudodami komandą kill, „Linux“ sistema pertraukia įprastą tikslinio proceso vykdymą.
• Norėdami rasti vykstantį procesą, galite naudoti komandas ps, top, pgrep arba pidof.
• Galite užmušti procesą pagal pavadinimą arba proceso ID naudodami komandas „kilall“, „pkill“, „kill“, „xkill“ arba „top“.
• Nužudymo procesas išsiųs SIGTERM, SIGHUP arba SIGKILL nutraukimo signalą.
• Norėdami užmušti „Linux“ procesą, galite naudoti sistemos stebėjimo priemonę. Jį galima rasti sistemos įrankiuose, ir jame pateikiamos kelios parinktys, pvz., Viršutinis procesas, pabaigos procesas arba proceso užmušimas.
• Komanda kill ir jos variantai yra gana nesudėtingi suprasti ir naudoti.
Šiame vadove mes pabrėžėme įvairius būdus, kaip užmušti procesus sistemoje „Linux“. Yra nedidelė mokymosi kreivė, atsižvelgiant į jos siūlomų signalo parinkčių sąrašą, kuri yra būtina tinkamam „Linux“ administravimui. Jei norite sužinoti daugiau, siūlau peržiūrėti jų atitinkamus vadovo puslapius.