Hemsida » hur » Hur man dödar en skrivbordsapplikation eller bakgrundsprocess på Linux

    Hur man dödar en skrivbordsapplikation eller bakgrundsprocess på Linux

    Windows har Ctrl + Alt + Delete och Macs har Command + Option + Escape för att tvinga frusna applikationer att stänga. Linux har sina egna sätt att "döda" de felaktiga processerna, oavsett om de är grafiska fönster eller bakgrundsprocesser.

    De exakta grafiska verktygen du kan använda beror på skrivbordsmiljön, eftersom varje skrivbordsmiljö ger olika verktyg till bordet. Men de flesta är ganska lika.

    Från ett grafiskt skrivbord

    Moderna Linux-skrivbord hanterar detta ganska bra, och det kan vara förvånansvärt automatiskt. Om en applikation inte svarar, kommer ett skrivbord med en kompositiong-chef ofta att gråta hela fönstret för att visa att det inte svarar.

    Klicka på X-knappen på fönstrets titelfält och fönsterhanteraren informerar dig ofta om att fönstret inte svarar. Du kan antingen ge det lite tid att svara eller klicka på ett alternativ som "Force Quit" för att förhindra stänga programmet.

    På Linux är fönsterhanteraren som målar titelfälten separat från själva applikationen, så det svarar vanligtvis även om fönstret inte kommer att göra det. Vissa fönster målar dock sina egna gränssnitt, men det kan därför inte alltid fungera.

    Med "xkill" -programmet kan du snabbt döda alla grafiska fönster på skrivbordet.

    Beroende på skrivbordsmiljön och dess konfiguration kan du kanske aktivera den här genvägen genom att trycka på Ctrl + Alt + Esc. Du kan också bara köra kommandot xkill - du kan öppna ett terminalfönster, skriv xkill utan citat och tryck på Enter. Eller du kan trycka på en genväg som Alt + F2, som öppnar dialogrutan "Run Command" på Ubuntu Unity-skrivbordet och många andra. Typ xkill till dialogrutan och tryck på Enter.

    Din markör ändras till en X. Klicka på ett fönster och xkill-verktyget bestämmer vilken process som är associerad med det här fönstret och döda omedelbart den processen. Fönstret kommer omedelbart att försvinna och stänga.

    Ditt Linux-skrivbord har förmodligen ett verktyg som fungerar på samma sätt som arbetshanteraren på Windows. På Ubuntus Unity-skrivbord, GNOME och andra GNOME-baserade skrivbord är detta System Monitor-verktyget. Öppna verktyget Systemövervakning för att se en lista med löpande proesser - inklusive bakgrunden. Du kan också tvinga processer härifrån härifrån om de misshandlar.

    Från terminalen

    Låt oss säga att du vill göra allt detta från terminalen istället. Vi täckte många av de verktyg du kan använda för detta när vi tittade på kommandon för hantering av processer på Linux.

    Låt oss säga att Firefox körs i bakgrunden och vi vill döda det från terminalen. Standard kill-kommandot tar ett process ID-nummer, så du måste hitta den först.

    Till exempel kan du köra ett kommando som:

    ps aux | grep firefox

    Vilket skulle lista alla processer och rör som listas till grep-kommandot, vilket kommer att filtrera det och skriva ut endast linjer som innehåller Firefox. (Den andra raden som du ser är grep processen själv.) Du kan också få process-ID från det översta kommandot och många andra platser.

    Ta process ID-numret från Firefox-processen - precis till höger om användarnamnet - och ge det till kill-kommandot. Det är, kör kommandot som så:

    döda ####

    Om processen körs som en annan användare måste du först bli root-användaren - eller kör åtminstone kommandot Kill med sudo-kommandot, så här:

    sudo död ####

    Det är en grundläggande metod, men det är inte riktigt snabbast. Pgrep- och pkill-kommandona hjälper till att effektivisera detta. Till exempel kör "pgrep firefox" för att se process-ID för den pågående Firefox-processen. Du kan sedan mata det numret till kill-kommandot.

    Eller hoppa över allt och kör "pkill firefox" för att döda Firefox-processen utan att veta sitt nummer. pkill utför några grundläggande mönster-matchning - det kommer att försöka hitta processer med namn som innehåller Firefox.

    Killall-kommandot är som pkill, men lite mer exakt. Det kommer att döda alla pågående processer med ett visst namn. Så kör "killall firefox" kommer att döda alla pågående processer som heter "firefox", men inte några processer som bara har Firefox i deras namn.


    Dessa är långt ifrån de enda kommandon som ingår i Linux för hantering av processer. Om du använder någon typ av serveradministrationsprogram kan det också ha användbara sätt att döda och starta om processer.

    Systemtjänsterna fungerar annorlunda än processer - du måste använda specifika kommandon för att ta ner, starta om eller ta upp tjänster. Dessa specifika kommandon kan skilja sig från olika Linux-distributioner.

    Bildkrediter: Lee på Flickr