Å håndtere programmer som ikke svarer kan være en vanskelig jobb, spesielt hvis du kjører på eldre maskinvare. I så fall blir systemfrysing et vanlig problem. Heldigvis er det mange måter å drepe ikke-responsive prosesser i Linux på.
Kill- og pkill-kommandoene gir enkle, men effektive løsninger for å avslutte ikke-responsive zombieprosesser fra terminalen. Avsnittene nedenfor beskriver hvordan du kan drepe hang-prosesser i Linux ved hjelp av kill og pkill.
Avslutt ikke-responsive prosesser ved hjelp av kill
Killkommandoen i Linux lar deg avslutte prosesser som ikke reagerer lett. Det sender et avslutningssignal til prosessen. Som standard sender kill SIGTERM signal, representert med signalnummer 15. Følgende eksempel bruker kill for å stoppe en prosess som har en PID på 27065.
drepe 27065
Brukere kan sende andre signaler ved å spesifisere signalnavnet eller nummeret. For eksempel stopper drapskommandoer nedenfor en zombieprosess ved å bruke SIGKILL system signal, representert av signal nummer 9.
drepe -9 27065
drep -SIGKILL 27065
Forskjellen mellom SIGTERM og SIGKILL er at prosesser kan fange og ignorere SIGTERM-signalet. Men SIGKILL er immun mot prosesshåndtering og dreper programmer umiddelbart.
Du kan se en liste over alle tilgjengelige signaler ved hjelp av drepekommandoer nedenfor.
drepe -l
drep -L
Samlet sett vil SIGKILL være mer passende når håndtering av ikke-responsive systemprosesser. På den annen side er SIGTERM veien å gå hvis du vil avslutte hang-programmer elegant.
Drep ikke reagerende prosesser ved hjelp av pkill
Pkill-kommandoen gjør avslutning av prosesser i Linux enklere ved å la oss drepe programmer basert på navnet deres. For eksempel dreper kommandoen nedenfor nano programmet ved hjelp av pkill.
pkill nano
Som kill, sender pkill også SIGTERM-signalet som standard. Bruk SIGKILL-signalet hvis du vil stoppe prosessen som ikke svarer umiddelbart.
pkill -9 nano
Hvordan få prosess-ID (PID) til en prosess
Å ha PID-informasjon kan være til stor hjelp når du avslutter ikke-reagerende prosesser i Linux. Du kan få PID-nummeret til en prosess på flere måter. Følgende kommando henter PID for en prosess som heter nano ved hjelp av grep-kommandoen og ps.
ps aux | grep nano
Du kan også bruke kommandoen pgrep, som spytter ut prosess-ID direkte.
pgrep nano
Administrere ikke-responsiv prosess på Linux
Kill- og pkill-kommandoene gjør det enkelt å håndtere prosesser som ikke svarer i Linux. Alt du trenger stopp en zombieprosess er PID og tilgang til et skall. Du kan imidlertid trenge ytterligere sudo-tillatelser når du dreper prosesser som tilhører en annen bruker. Så hvis du bruker et flerbruker-system, kan du be administratoren om å legge deg til sudoers-listen før du gjør noe.
Vil du gi administratorrettigheter til en Linux-bruker? Slik kan du legge til en bruker i sudoers-listen.
Les Neste
- Linux
- Linux-kommandoer
- Systemadministrasjon
Rubaiat er en CS-grad med en sterk lidenskap for åpen kildekode. Bortsett fra å være Unix-veteran, er han også interessert i nettverkssikkerhet, kryptografi og funksjonell programmering. Han er en ivrig samler av brukte bøker og har en uendelig beundring for klassisk rock.
Abonner på vårt nyhetsbrev
Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Ett steg til…!
Bekreft e-postadressen din i e-posten vi nettopp sendte deg.