27Aug

Hoe een desktop-applicatie of achtergrondproces op Linux te doden

Windows heeft Ctrl + Alt + Delete en Macs hebben Command + Option + Escape om bevroren applicaties te sluiten. Linux heeft zijn eigen manieren om die misdragende processen te "doden", of het nu gaat om grafische vensters of achtergrondprocessen.

De exacte grafische hulpmiddelen die u kunt gebruiken, zijn afhankelijk van uw bureaubladomgeving, omdat elke bureaubladomgeving verschillende hulpmiddelen aan de tafel biedt. Maar de meeste van hen lijken op elkaar.

Van een grafische desktop

Moderne Linux-desktops gaan hier redelijk mee om, en het kan verrassend automatisch zijn. Als een toepassing niet reageert, zal een bureaublad met een compositiong-manager het hele venster vaak grijs weergeven om aan te geven dat het niet reageert.

Klik op de X-knop in de titelbalk van het venster en de vensterbeheerder zal u er vaak op wijzen dat het venster niet reageert. Je kunt het wat tijd geven om te reageren of op een optie zoals "Forceer stop" klikken om de applicatie definitief te sluiten.

Onder Linux staat de windowmanager die de titelbalken schildert los van de applicatie zelf, dus reageert deze meestal, zelfs als het venster dat niet doet. Sommige vensters schilderen echter hun eigen interfaces, dus dit werkt mogelijk niet altijd.

De "xkill" -toepassing kan u helpen snel een grafisch venster op uw bureaublad te doden.

Afhankelijk van uw bureaubladomgeving en de configuratie, kunt u deze snelkoppeling mogelijk activeren door op Ctrl + Alt + Esc te drukken. U kunt ook gewoon de xkill-opdracht uitvoeren: u kunt een terminalvenster openen, xkill typen zonder de aanhalingstekens en op Enter drukken. Of u kunt op een snelkoppeling zoals Alt + F2 drukken, waarmee het dialoogvenster "Opdracht uitvoeren" op Ubuntu's Unity-bureaublad en vele andere wordt geopend. Typ xkill in het dialoogvenster en druk op Enter.

Uw cursor verandert in een X. Klik op een venster en het xkill-hulpprogramma zal bepalen welk proces aan dat venster is gekoppeld, en vervolgens onmiddellijk dat proces beëindigen. Het venster zal onmiddellijk verdwijnen en sluiten.

Uw Linux-desktop heeft waarschijnlijk een tool die op dezelfde manier werkt als de Task Manager op Windows. Op Ubuntu's Unity-desktop, GNOME en andere op GNOME gebaseerde desktops is dit het hulpprogramma System Monitor. Open het hulpprogramma Systeembewaking om een ​​lijst met actieve onderdelen weer te geven, inclusief achtergronden. Je kunt processen ook met geweld van hier af doden als ze zich misdragen.

Vanaf de terminal

Laten we zeggen dat je dit allemaal vanuit de terminal wilt doen. We hebben veel van de hulpprogramma's behandeld die je hiervoor kunt gebruiken toen we naar opdrachten voor het beheren van processen op Linux keken.

Laten we zeggen dat Firefox op de achtergrond draait en we willen het vanaf de terminal doden. De standaard kill-opdracht neemt een proces-ID-nummer, dus u moet het eerst vinden.

U kunt bijvoorbeeld een opdracht uitvoeren als:

ps aux |grep firefox

Welke alle processen opsomt en die lijst doorstuurt naar de grep-opdracht, die deze filtert en alleen regels afdrukt die Firefox bevatten.(De tweede regel die u zult zien, is het grep-proces zelf.) U kunt de proces-ID ook verkrijgen via het bovenste commando en vele andere plaatsen.

Neem het proces-ID-nummer van het Firefox-proces - net aan de rechterkant van de gebruikersnaam - en geef het door aan het kill-commando. Dat wil zeggen, voer het commando als volgt uit:

kill ####

Als het proces wordt uitgevoerd als een andere gebruiker, moet je eerst de root-gebruiker worden - of tenminste de kill-opdracht uitvoeren met de opdracht sudo, zoals zo:

sudo kill ####

Dat is een basismethode, maar het is niet helemaal de snelste. De pgrep- en pkill-opdrachten helpen dit te stroomlijnen. Voer bijvoorbeeld "pgrep firefox" uit om de proces-ID van het actieve Firefox-proces te zien. U kunt dat nummer vervolgens naar de kill-opdracht sturen.

Of sla dit alles over en voer "pkill firefox" uit om het Firefox-proces te beëindigen zonder het aantal te weten.pkill voert een aantal standaard patroon-matching uit - het zal proberen processen te vinden met namen die firefox bevatten.

Het killall-commando lijkt op pkill, maar een beetje nauwkeuriger. Hiermee worden alle actieve processen met een specifieke naam gedood. Dus draait "killall firefox" alle actieve processen met de naam "firefox", maar geen processen die firefox in hun naam hebben.

Dit zijn verre van de enige opdrachten die in Linux zijn opgenomen voor het beheer van processen. Als u een bepaald type serverbeheersoftware gebruikt, kan dit ook nuttige manieren zijn om processen te beëindigen en opnieuw te starten.

-systeemservices werken anders dan processen: u moet specifieke opdrachten gebruiken om services te verlagen, opnieuw op te starten of te activeren. Die specifieke commando's kunnen verschillen op verschillende Linux-distributies.

Image Credit: Lee op Flickr