At håndtere programmer, der ikke svarer, kan være et vanskeligt job, især hvis du kører på ældre hardware. I så fald bliver systemfrysning et almindeligt problem. Heldigvis er der mange måder at dræbe processer, der ikke reagerer i Linux.

Kill- og pkill-kommandoerne giver enkle, men effektive løsninger til at afslutte ikke-reagerende zombieprocesser fra terminalen. Nedenstående afsnit beskriver, hvordan man dræber hængte processer i Linux ved hjælp af kill og pkill.

Afslut ikke-responsive processer ved hjælp af kill

Kill-kommandoen i Linux giver dig mulighed for at afslutte processer, der ikke reagerer let. Det sender et afsluttende signal til processen. Som standard sender kill den SIGTERM signal, repræsenteret af signalnummer 15. I det følgende eksempel bruges kill til at stoppe en proces med en PID på 27065.

dræb 27065

Brugere kan sende andre signaler ved at specificere signalnavnet eller nummeret. For eksempel stopper nedenstående drabskommandoer en zombieproces ved hjælp af SIGKILL system signal, repræsenteret af signal nummer 9.

dræb -9 27065
dræb -SIGKILL 27065

Forskellen mellem SIGTERM og SIGKILL er, at processer kan fange og ignorere SIGTERM-signalet. Men SIGKILL er immun over for proceshåndtering og dræber med det samme programmer.

Du kan se en liste over alle tilgængelige signaler ved hjælp af nedenstående kill-kommandoer.

dræb -l
dræb -L

Samlet set vil SIGKILL være mere egnet når beskæftiger sig med ikke-reagerende systemprocesser. På den anden side er SIGTERM vejen at gå, hvis du ønsker at afslutte hang-programmer yndefuldt.

Dræb processer, der ikke reagerer ved hjælp af pkill

Pkill-kommandoen gør det lettere at afslutte processer i Linux ved at tillade os at dræbe programmer baseret på deres navn. For eksempel dræber kommandoen nedenfor nano program ved hjælp af pkill.

pkill nano

Ligesom kill, sender pkill også SIGTERM-signalet som standard. Brug SIGKILL-signalet, hvis du straks vil stoppe processen, der ikke svarer.

pkill -9 nano

Sådan får du proces-id (PID) for en proces

At have PID-oplysningerne kan være en stor hjælp, når man afslutter ikke-reagerende processer i Linux. Du kan få PID-nummeret på en proces på flere måder. Den følgende kommando henter PID for en proces, der hedder nano ved hjælp af grep-kommandoen og ps.

ps aux | grep nano

Du kan også bruge kommandoen pgrep, som spytter proces-id'et direkte.

pgrep nano

Administration af ikke-responsiv proces på Linux

Kill- og pkill-kommandoerne gør det ubesværet at håndtere processer, der ikke reagerer i Linux. Alt hvad du behøver stoppe en zombie proces er dens PID og adgang til en skal. Du kan dog have brug for yderligere sudotilladelser, når du dræber processer, der tilhører en anden bruger. Så hvis du er på et flerbruger-system, skal du bede administratoren om at føje dig til sudoers-listen, før du foretager dig noget.

E-mail
Sådan tilføjes en bruger til Sudoers-listen i Linux

Vil du give administrative rettigheder til en Linux-bruger? Sådan kan du tilføje en bruger til sudoers-listen.

Læs Næste

Relaterede emner
  • Linux
  • Linux-kommandoer
  • Systemadministration
Om forfatteren
Rubaiat Hossain (24 artikler offentliggjort)

Rubaiat er en CS grad med en stærk passion for open source. Bortset fra at være Unix-veteran, er han også interesseret i netværkssikkerhed, kryptografi og funktionel programmering. Han er en ivrig samler af brugte bøger og har en uendelig beundring for klassisk rock.

Mere fra Rubaiat Hossain

Abonner på vores nyhedsbrev

Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!

Et trin mere !!!

Bekræft venligst din e-mail-adresse i den e-mail, vi lige har sendt dig.

.