Skip to main content

Hvordan drepe en stasjonær applikasjon eller bakgrunnsprosess på Linux

Hvordan drepe en stasjonær applikasjon eller bakgrunnsprosess på Linux

Geoffrey Carr

Windows har Ctrl + Alt + Slett og Macs har kommando + Alternativ + Escape for å tvinge frosne applikasjoner til å lukke. Linux har sine egne måter å "drepe" de misbehavende prosessene, uansett om de er grafiske vinduer eller bakgrunnsprosesser.

De eksakte grafiske verktøyene du kan bruke vil avhenge av skrivebordsmiljøet ditt, da hvert skrivebordsmiljø gir forskjellige verktøy til bordet. Men de fleste er ganske like.

Fra et grafisk skrivebord

Moderne Linux-desktops håndterer dette ganske bra, og det kan være overraskende automatisk. Hvis en applikasjon ikke svarer, vil et skrivebord med en sammensetningssjef ofte gråte hele vinduet for å vise at det ikke svarer.

Klikk X-knappen på vinduets tittellinje, og vindushåndtereren vil ofte informere deg om at vinduet ikke svarer. Du kan enten gi det litt tid til å svare eller klikke på et alternativ som "Force Quit" for å forgjøre å lukke programmet.

På Linux, er vinduesbehandleren som maler tittelstengene skilt fra selve applikasjonen, så det reagerer vanligvis, selv om vinduet ikke vil. Noen vinduer maler imidlertid sine egne grensesnitt, men dette kan ikke alltid fungere.

Med "xkill" -programmet kan du raskt drepe et grafisk vindu på skrivebordet ditt.

Avhengig av skrivebordsmiljøet og konfigurasjonen kan det hende at du kan aktivere denne snarveien ved å trykke Ctrl + Alt + Esc. Du kan også bare kjøre xkill-kommandoen - du kan åpne et Terminal-vindu, skriv inn xkill uten anførselstegn, og trykk på Enter. Eller du kan trykke en snarvei som Alt + F2, som åpner dialogboksen "Run Command" på Ubuntu's Unity-skrivebordet og mange andre. Type xkill inn i dialogboksen og trykk på Enter.

Markøren din vil endres til en X. Klikk på et vindu, og xkill-verktøyet bestemmer hvilken prosess som er knyttet til vinduet, og så drep umiddelbart den prosessen. Vinduet vil umiddelbart forsvinne og lukke.

Linux-skrivebordet har sannsynligvis et verktøy som fungerer på samme måte som oppgavshåndtereren på Windows. På Ubuntu's Unity-skrivebordet, GNOME og andre GNOME-baserte skrivebord, er dette System Monitor-verktøyet. Åpne System Monitor verktøyet for å se en liste over løpende prosesser - inkludert bakgrunnen. Du kan også tvinge prosesser fra her hvis de misforstår.

Fra terminalen

La oss si at du vil gjøre alt dette fra terminalen i stedet. Vi dekket mange verktøy du kan bruke til dette når vi så på kommandoer for å administrere prosesser på Linux.

La oss si at Firefox kjører i bakgrunnen, og vi vil drepe det fra terminalen. Standard kill-kommandoen tar et prosess ID-nummer, så du må finne den først.

For eksempel kan du kjøre en kommando som:

ps aux | grep firefox

Som vil liste alle prosesser og rør som listes til grep-kommandoen, som vil filtrere den og skrive ut bare linjer som inneholder Firefox. (Den andre linjen du vil se er grep-prosessen selv.) Du kan også få prosess-ID fra toppkommandoen og mange andre steder.

Ta prosess ID-nummeret fra Firefox-prosessen - bare til høyre for brukernavnet - og gi det til kill-kommandoen. Det vil si, kjør kommandoen slik:

kill ####

Hvis prosessen kjører som en annen bruker, må du først bli rotbrukeren - eller i det minste kjøre kill-kommandoen med sudo-kommandoen, slik som:

sudo kill ####

Det er en grunnleggende metode, men det er ikke ganske raskest. Pgrep- og pkill-kommandoene bidrar til å strømlinjeforme dette. For eksempel, kjør "pgrep firefox" for å se prosess-IDen til den kjørende Firefox-prosessen. Du kan da mate det nummeret til kill-kommandoen.

Eller hopp over alt det og kjør "pkill firefox" for å drepe Firefox-prosessen uten å vite nummeret sitt. pkill utfører noen grunnleggende mønster-matching - det vil prøve å finne prosesser med navn som inneholder firefox.

Killall-kommandoen er som pkill, men litt mer presis. Det vil drepe alle løpende prosesser med et bestemt navn. Så kjører "killall firefox" vil drepe alle løpende prosesser kalt "firefox", men ikke noen prosesser som bare har firefox i navnene sine.


Disse er langt fra de eneste kommandoene som er inkludert på Linux for å administrere prosesser. Hvis du bruker noen form for serveradministrasjonsprogramvare, kan det også ha nyttige måter å drepe og starte prosesser på.

Systemtjenester fungerer forskjellig fra prosesser - du må bruke bestemte kommandoer for å få ned, starte på nytt eller hente opp tjenester. Disse spesifikke kommandoene kan være forskjellige på forskjellige Linux-distribusjoner.

Link
Plus
Send
Send
Pin