Kas yra žudymo komanda?
Linux yra pažangi ir puiki operacinė sistema; tačiau tai nėra tobula. Kai kurios programos gali pradėti veikti nerūpestingai ir tapti nejautrios arba pradėti vartoti kelis sistemos išteklius.
Nejautrių programų negalima paleisti iš naujo, nes tikrasis taikymo procesas niekada visiškai nenutrūksta. Vienas sprendimas yra paleisti sistemą iš naujo arba sustabdyti programos procesą.
Yra įvairių paslaugų, kurios leidžia mums nutraukti klaidingus procesus kartu su nužudyti komandą. Ši komanda plačiausiai naudojama Linux sistemoje.
Į Linux , nužudymo komanda (esanti /bin/kill viduje) gali būti apibrėžta kaip integruota komanda.
Jis naudojamas rankiniu būdu užbaigti procesus. Nužudymo komandos elgesys šiek tiek skiriasi tarp apvalkalų ir /bin/kill atskiras vykdomasis failas.
Galime pritaikyti tipo komandą, kad būtų rodoma kiekviena mūsų sistemos vieta, kurioje yra nužudymas:
excel pašalinti pirmąjį simbolį
$ type -a kill
Nužudymo komanda perduoda signalą į procesą, kurio metu procesas toliau nutraukiamas. Kai vartotojas neaprašo jokio signalo, kuris turi būti perduodamas su nužudymo komanda, tada TERMINAS perduodamas signalas (numatytasis), kuris nutrauks procesą. Jei signalas neaprašytas, jis bus pagal nutylėjimą - penkiolika ( -TERMINAS ).
Plačiausiai taikomi signalai yra šie:
Mes galime naudoti komandą nužudyti kartu su -l galimybė gauti visų galimų signalų sąrašą:
$ kill -l
Šiuos signalus galima apibūdinti trimis skirtingais būdais. Šie būdai išvardyti žemiau:
- Pagal skaičių (pvz., -6)
- Be SIG priešdėlio (pvz., -kill)
- Su SIG priešdėliu (pvz., -SIGkill)
Žemiau pateiktos komandos yra panašios viena į kitą:
java eilutės konvertavimas į int
- $ nužudyti -SIGHUP PID_NUMBER
- $ nužudyti – HUP PID_NUMBER
- $ nužudyti -1 PID_NUMBER
PID, duoti žudymo komandai, gali būti bet kuris iš toliau pateiktų:
- Signalas bus perduotas į procesą kartu su ID, panašiu į PID, kai PID yra didesnis nei nulis.
- Signalas bus perduotas kiekvienam procesui dabartinės procesų grupės viduje, kai PID yra lygus nuliui. Tai reiškia, kad signalas bus perduotas kiekvienam procesui, susijusiam su Shell GID, kuris reikalauja nužudymo komandos. Galime taikyti ps -efj komanda, skirta peržiūrėti procesų grupės (GID) ID.
- Signalas bus perduotas kiekvienam procesui kartu su panašiu UID kaip vartotojas, prašantis komandos, kai PID yra lygus -1. Jei užklausą teikiantis vartotojas yra šaknis, signalas bus perduotas kiekvienam procesui, išskyrus nužudymo ir inicijavimo procesą.
- Signalas bus perduotas kiekvienam procesui procesų grupėje kartu su GID, panašiu į PID absoliučią vertę, kai PID yra mažesnis nei -1.
Paprasti vartotojai gali perduoti signalus į savo procesus. Tačiau tai neapima tų vartotojų, kurie yra susiję su bet kuriuo kitu vartotoju. Kita vertus, šakninis vartotojas gali perduoti signalą kito vartotojo procesams.
- PID -1 yra labai unikalus, nes jis nurodo kiekvieną procesą, išskyrus init ir kill, kurie yra pirminis kiekvieno proceso sistemoje procesas.
- Neigiamos PID reikšmės naudojamos proceso grupės ID nurodyti. Kai perduodame bet kurį proceso grupės ID, signalą gaus kiekvienas procesas toje grupėje.
- Norėdami parodyti vykdomų procesų sąrašą, galime naudoti komandą ps ir ji parodys mums vykdomus procesus kartu su PID numeriu. Turime nurodyti PID, kad nurodytume, kuris procesas turėtų gauti žudymo komandos signalą.
Sintaksė:
$ps
ps į: Ši komanda naudojama rodyti kiekvieną vykdomą procesą kartu su jų PID ir kita informacija. Jei nežinome proceso ID, galime naudoti šią komandą.
Nužudymo komandos parinktys
1. nužudyti -l: Ši parinktis naudojama kiekvienam esamam signalui rodyti, galime pritaikyti šią komandos parinktį:
Sintaksė:
$kill -l
2. nužudyti pid: Ši parinktis naudojama norint parodyti, kaip taikyti PID kartu su nužudymo komanda.
Sintaksė:
$kill pid
3. nužudyti -L: Komanda kill -L gali būti naudojama pateikiant esamus signalus lentelės formatu.
Sintaksė:
/bin/kill -L
4. Išverskite signalo numerį: Mes galime lengvai išversti bet kurį signalo numerį į signalo pavadinimą naudodami šią komandą:
java lambda pavyzdys
/bin/kill --list=12