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

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

    Windows har Ctrl + Alt + Slett og Macer har Command + Option + 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 et program 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 et alternativ som "Force Quit" for å avslutte programmet.

    På Linux er vindushåndteringen 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 skifte til en X. Klikk på et vindu, og xkill-verktøyet bestemmer hvilken prosess som er knyttet til vinduet, og drep deretter 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 kjørerprosesser - 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 ser 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:

    drepe ####

    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 drepe ####

    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 å hente ned, starte på nytt eller hente tjenester. Disse bestemte kommandoene kan være forskjellige på forskjellige Linux-distribusjoner.

    Bilde Kreditt: Lee på Flickr