Hva er en drepekommando?
Linux er et avansert og flott operativsystem; men det er ikke perfekt. Noen få programmer kan begynne å oppføre seg uforsiktig og bli ufølsomme eller begynne å bruke flere systemressurser.
Ufølsomme programmer kan ikke startes på nytt fordi selve søknadsprosessen aldri går helt ned. En enkelt løsning er enten å starte systemet på nytt eller drepe prosessen med applikasjonen.
Det er forskjellige verktøy som tillater oss å avslutte feilaktige prosesser sammen med drepe kommando. Denne kommandoen er mest brukt i Linux.
I Linux , kan kill-kommandoen (plassert inne i /bin/kill) defineres som en innebygd kommando.
Den brukes til å manuelt avslutte prosessene. Oppførselen til kill-kommandoen er litt forskjellig blant skjellene og /bin/kill frittstående kjørbar.
Vi kan bruke type-kommandoen for å vise hver plassering på systemet vårt som inneholder kill:
$ type -a kill
Kill-kommandoen overfører et signal til en prosess som avslutter prosessen ytterligere. Når brukeren ikke beskriver noe signal som skal overføres med kill-kommandoen, er det BEGREP signal (standard) overføres som vil avslutte prosessen. Hvis signalet ikke er beskrevet, vil det som standard være -femten ( -BEGREP ).
De mest brukte signalene er som følger:
Vi kan bruke kill-kommandoen sammen med -l alternativ for å få listen over alle tilgjengelige signaler:
$ kill -l
Disse signalene kan beskrives på tre forskjellige måter. Disse måtene er listet opp nedenfor:
- Etter nummer (f.eks. -6)
- Uten SIG-prefiks (f.eks. -kill)
- Med SIG-prefiks (f.eks. -SIGkill)
Kommandoene nedenfor ligner på hverandre:
- $ kill -SIGHUP PID_NUMBER
- $ kill -HUP PID_NUMBER
- $ kill -1 PID_NUMBER
PID-ene gitt til kill-kommandoen kan være hvem som helst fra følgende:
- Signalet vil bli overført til prosessen sammen med ID som ligner PID når PID er større enn null.
- Signalet vil bli overført til hver prosess innenfor gjeldende prosessgruppe når PID tilsvarer null. Det betyr at signalet vil bli overført til hver prosess relatert til Shell GID-en som ber om kill-kommandoen. Vi kan bruke ps -efj kommando for å vise IDene til prosessgruppen (GIDs).
- Signalet vil bli overført til hver prosess sammen med lignende UID som en bruker som ber om kommandoen når PID tilsvarer -1. Hvis den forespørrende brukeren er roten, vil signalet bli overført til hver prosess unntatt kill- og init-prosessen.
- Signalet vil bli overført til hver prosess i prosessgruppen sammen med GID som ligner PIDs absolutte verdi når PID er mindre enn -1.
Vanlige brukere kan overføre signaler til prosessene sine. Det inkluderer imidlertid ikke de brukerne som er relatert til en annen bruker. På den annen side er root-brukeren i stand til å overføre signalet til prosessene til den andre brukeren.
- PID-en til -1 er veldig unik fordi den indikerer hver prosess unntatt init og kill, som er en overordnet prosess for hver prosess over systemet.
- Negative verdier av PID brukes for å angi prosessgruppe-ID. Når vi sender en prosessgruppe-ID, vil hver prosess i den gruppen få signalet.
- For å vise listen over kjørende prosesser kan vi bruke ps-kommandoen og den vil vise oss de kjørende prosessene sammen med PID-nummeret. Vi må gi PID for å spesifisere hvilken prosess som skal få signalet til kill-kommandoen.
Syntaks:
$ps
ps til: Denne kommandoen brukes til å vise hver kjørende prosess sammen med deres PID-er og andre detaljer. I tilfelle vet vi ikke prosess-IDen kan vi bruke denne kommandoen.
Alternativer for kill-kommandoen
1. drepe -l: Dette alternativet brukes til å vise alle eksisterende signaler, vi kan bruke følgende kommandoalternativ:
Syntaks:
pete davidson alder
$kill -l
2. drep pid: Dette alternativet brukes til å vise hvordan du bruker PID sammen med kill-kommandoen.
Syntaks:
$kill pid
3. drep -L: Kill -L-kommandoen kan brukes for å liste de eksisterende signalene i et format av tabellen.
Syntaks:
/bin/kill -L
4. Oversett signalnummer: Vi kan enkelt oversette et hvilket som helst signalnummer til et signalnavn ved å bruke følgende kommando:
/bin/kill --list=12