Procesmanagement

Hoe een proces op Linux te doden

Hoe een proces op Linux te doden
Er zullen waarschijnlijk momenten zijn waarop u problemen ondervindt met niet-reagerende applicaties en processen. Soms werkt het sluiten en zelfs opnieuw opstarten niet. In dergelijke gevallen is de enige optie die in gedachten komt, het systeem opnieuw op te starten, wat een tijdrovend proces is en soms niet acceptabel in het geval van servers die een aantal kritieke services uitvoeren.Er zijn enkele andere handige manieren om dit probleem te omzeilen door het proces te beëindigen zonder het systeem opnieuw te hoeven opstarten. Dit artikel zal dergelijke manieren uitleggen die kunnen worden gebruikt om een ​​proces in een Linux-besturingssysteem te beëindigen.

Opmerking: we hebben de procedure uitgelegd die in dit artikel wordt genoemd op Ubuntu 20.04 LTS. Min of meer dezelfde opdrachten en procedures kunnen worden gevolgd in eerdere versies van Ubuntu,

De systeemmonitor gebruiken

De Gnome-systeemmonitor is een ingebouwd GUI-hulpprogramma dat kan worden gebruikt om een ​​proces in Linux OS te beëindigen. Hiermee kunt u een proces stoppen en vervolgens hervatten met de optie Doorgaan. De end-optie maakt het mogelijk om een ​​proces veilig te beëindigen, terwijl de kill-optie het programma met geweld beëindigt.

Als System Monitor niet op uw systeem is geïnstalleerd, kunt u het als volgt installeren:

$ sudo apt-get install gnome-system-monitor

Om System Monitor te starten, drukt u op de supertoets en zoekt u deze met behulp van de zoekbalk bovenaan. Wanneer het zoekresultaat als volgt verschijnt, drukt u op Enter om het te openen.

In het venster Systeemmonitor ziet u een lijst met processen die in uw systeem worden uitgevoerd. Om een ​​proces te beëindigen, klikt u er met de rechtermuisknop op en selecteert u Doden keuze. Het zal het geselecteerde proces onmiddellijk doden.

Beëindig het proces met behulp van de sneltoetsen in Terminal

De Linux-opdrachtregel bevat een aantal handige sneltoetsen. Onder hen kunnen de volgende snelkoppelingen worden gebruikt om een ​​lopend proces te beëindigen.

Ctrl+C: Het verzendt SIGINT dat het lopende proces beëindigt

Ctrl+Z: Het verzendt SIGSTP die een applicatie opschort en naar de achtergrond stuurt. Het beëindigt het proces echter niet. Om het gestopte proces te bekijken, kunt u de opdracht jobs gebruiken. Gebruik het fg-commando om het proces naar de voorgrond te brengen.

Ctrl+\: Het verzendt SIGQUIT die het proces beëindigt. Het creëert ook een kerndumpbestand dat kan worden gebruikt om het proces te debuggen.

Kill-proces met het xkill-hulpprogramma

Xkill maakt het mogelijk om een ​​actief programma te doden met de muiscursor. Het is een GUI-gebaseerd hulpprogramma dat vooraf is geïnstalleerd in de meeste systemen. Als het nog niet is geïnstalleerd, kunt u het als volgt installeren:

$ sudo apt install xorg-xkill

Om een ​​programma te sluiten, typt u dit eenvoudig in uw opdrachtregel Terminal:

$ xkill

Als u de bovenstaande opdracht uitvoert, verandert uw muiscursor in: X vorm. Plaats nu de cursor op het programma dat u wilt sluiten en klik erop met de linkermuisknop.

Snelkoppeling instellen voor Xkill

U kunt een snelkoppeling voor xkill instellen waarmee u een toepassing onmiddellijk kunt doden zonder de Terminal te openen en de opdracht uit te voeren.

Om een ​​snelkoppeling voor xkill te maken, opent u de Instellingen hulpprogramma met behulp van het rechtsklikmenu op het bureaublad. Open dan de Toetsenbord sneltoetsen tabblad en klik op de + icoon helemaal onderaan.

Geef vervolgens in het volgende dialoogvenster de snelkoppeling een naam en typ xkill in het veld Opdracht en klik op Snelkoppeling instellen knop.

Stel vervolgens een aangepaste snelkoppeling naar keuze in en klik op de Toevoegen knop.

Wanneer je nu een applicatie moet doden, druk je gewoon op de sneltoetsen en je kunt elke geopende applicatie in je systeem doden.

Kill-proces met behulp van de Kill-commando's

Er zijn ook enkele opdrachtregelmanieren die worden gebruikt om de processen in Linux te doden, waaronder kill, pkill en killall.

Om te zien welke processen momenteel in uw systeem worden uitgevoerd, kunt u de opdracht ps gebruiken met de vlag -A:

$ ps -A

Het zal een lijst maken van alle momenteel lopende processen in uw systeem.

Doden

Kill-opdracht kan worden gebruikt om een ​​lopend proces in Linux te beëindigen. Het kill-commando is voorzien van een PID van een proces dat moet worden gedood.

Om de proces-ID van een lopend proces te vinden, kunt u gebruik maken van ps -A opdracht. Als alternatief kunt u de uitvoer van ps pipen met de opdracht grep om de proces-ID van een specifiek proces te vinden:

$ ps -A | grep

Bijvoorbeeld:

Om de proces-ID van een draaiend Firefox-programma te vinden, kunt u het volgende gebruiken:

$ ps -A | grep firefox

Zodra u de PID van een specifiek proces hebt gevonden, kunt u deze als volgt doden:

$ kill PID

Het kill-commando stuurt een SIGTERM-signaal naar de gespecificeerde PID die het proces vraagt ​​om te beëindigen na het uitvoeren van de noodzakelijke opschoningsoperatie.

In sommige scenario's beëindigt het uitvoeren van het kill-commando het proces niet. Als dit het geval is, moet u "doden -9” gevolgd door de PID:

$ kill -9 PID

De ... gebruiken -9 optie met kill-opdracht stuurt een SIGKILL-signaal dat het proces vraagt ​​​​om onmiddellijk te beëindigen zonder enige opruimbewerking.

Pkill

Net als bij het kill-commando, verzendt pkill ook een SIGTERM-signaal waarmee een niet-reagerend proces kan worden beëindigd. Het goede van pkill is echter dat u de PID van een proces niet hoeft op te geven om het te doden. In plaats daarvan kunt u gewoon het overeenkomende trefwoord opgeven dat gerelateerd is aan het proces.

$ pkill

Om bijvoorbeeld het Firefox-programma te beëindigen, typt u gewoon:

$ pkill firef

Het zal alle processen doden waarvan de namen overeenkomen met de mnentioned .

Met pkill heb je ook een optie om het proces dat door een specifieke gebruiker wordt uitgevoerd te beëindigen:

$ pkill -u < keyword>

Wees voorzichtig bij het gebruik van deze optie, want als u de . niet opgeeft , alle processen met de opgegeven gebruikersnaam worden gedood.

Killall

Het Killall-commando lijkt op pkill, behalve dat het de volledige procesnaam als argument gebruikt in plaats van een overeenkomend trefwoord.

Om killall te gebruiken om alle processen en hun onderliggende processen met een specifieke naam te beëindigen, gebruikt u de volgende syntaxis:

$ killall

Bijvoorbeeld:

$ killall firefox

Dat is alles wat er is! In dit artikel heb je verschillende manieren geleerd om een ​​proces in Linux te beëindigen. Gebruik deze opdrachten met zorg, omdat het beëindigen van een proces ervoor zorgt dat het onmiddellijk wordt beëindigd, wat resulteert in gegevensverlies. Ook het doden van het verkeerde proces kan het systeem verstoren.

Hoe de muisaanwijzer en cursorgrootte, kleur en schema op Windows 10 te veranderen
De muisaanwijzer en cursor in Windows 10 zijn zeer belangrijke aspecten van het besturingssysteem. Dit geldt ook voor andere besturingssystemen, dus i...
Gratis en open source game-engines voor het ontwikkelen van Linux-games
Dit artikel behandelt een lijst met gratis en open source game-engines die kunnen worden gebruikt voor het ontwikkelen van 2D- en 3D-games op Linux. E...
Shadow of the Tomb Raider voor Linux-zelfstudie
Shadow of the Tomb Raider is de twaalfde toevoeging aan de Tomb Raider-serie - een actie-avonturengame-franchise gemaakt door Eidos Montreal. De game ...