Startpagina > Procesbeheer > kill

kill-opdrachtgids: processen beëindigen

`kill`-opdracht wordt gebruikt om signalen naar processen die op een Linux-systeem draaien te sturen om deze processen te beheren. Het wordt voornamelijk gebruikt om processen te beëindigen (kill), maar het is ook mogelijk om andere soorten signalen te verzenden om het gedrag van een proces te wijzigen. Leer in deze gids de basisgebruik van de `kill`-opdracht en hoe je verschillende signalen kunt gebruiken.

Overzicht van kill

`kill`-opdracht stuurt signalen naar processen met een specifieke proces-ID (PID). Het meest voorkomende signaal is een verzoek om het proces te beëindigen, maar afhankelijk van het type signaal kan het proces op verschillende manieren reageren. Bijvoorbeeld, het kan gevraagd worden om het proces te pauzeren of configuratiebestanden opnieuw te laden.

Belang van proces-ID (PID)

`kill`-opdracht accepteert in principe een PID als argument. Het is daarom belangrijk om te weten wat de exacte PID is van het proces dat je wilt beheren. Je kunt de PID van een proces controleren met de `ps`-opdracht of de `top`-opdracht.

Belangrijkste functies van kill

  • Proces beëindigen: Beëindigt een proces dat niet langer nodig is of dat niet goed functioneert, dit kan gedwongen of normaal zijn.
  • Proces herstarten/herladen: Stuurt een specifiek signaal om het proces te dwingen configuratiebestanden opnieuw te lezen of te herstarten.
  • Beheer van systeembronnen: Beëindigt processen die onterecht veel bronnen verbruiken om de stabiliteit van het systeem te waarborgen.

Meest gebruikte signalen

Er zijn verschillende signalen, maar de volgende twee worden het meest gebruikt:

Belangrijkste signalen

  • **SIGTERM (15, standaard)**: Stuurt een vriendelijk verzoek aan het proces om 'te beëindigen'. Het proces kan opruimwerkzaamheden uitvoeren en afsluiten wanneer het dit signaal ontvangt. In de meeste gevallen wordt dit signaal eerst geprobeerd.
  • **SIGKILL (9)**: Beëindigt het proces onmiddellijk en gedwongen. Het proces kan dit signaal niet negeren of onderscheppen, en wordt beëindigd zonder de kans op opruimwerkzaamheden. Dit moet als laatste redmiddel worden gebruikt.

Belangrijkste kill-opdrachtopties

`kill`-opdracht gebruikt signaalnummers of signaalnamen om processen te beheren. Bij het verzenden van een signaal naar een specifiek proces moet je de exacte PID van dat proces opgeven.

1. Basisgebruik

2. Nuttige signalen

3. Lijst van alle signalen bekijken

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`kill` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

killall-opdracht (processen beëindigen op naam)

`killall`-opdracht gebruikt in tegenstelling tot `kill` de naam van het proces in plaats van de PID om signalen naar alle processen met die naam te sturen. Dit is zeer handig wanneer je alle instanties van een specifieke toepassing wilt beëindigen.

Normaal beëindigen van processen op naam

killall nginx

Stuurt een SIGTERM signaal naar alle processen met de naam `nginx` om een normale beëindiging te verzoeken.

Gedwongen beëindigen van processen op naam

killall -9 firefox

Stuurt een SIGKILL signaal naar alle processen met de naam `firefox` om ze onmiddellijk te beëindigen.

Alleen processen van specifieke gebruiker beëindigen

killall -u $(whoami) chrome

Beëindigt alleen de `chrome` processen van de huidige gebruiker. Dit heeft geen effect op `chrome` processen van andere gebruikers.

pkill-opdracht (processen beëindigen op patroon)

`pkill`-opdracht beëindigt processen op basis van hun naam, vergelijkbaar met `killall`, maar biedt meer flexibiliteit doordat het reguliere expressiepaterns gebruikt om processen te vinden. Dit is handig om processen te vinden met een gedeeltelijke naam of om meerdere verwante processen tegelijk te beëindigen.

Normaal beëindigen van processen op patroon

pkill http

Stuurt een SIGTERM signaal naar alle processen waarvan de naam 'http' bevat. (Bijvoorbeeld: `httpd`, `apache2` etc.)

Gedwongen beëindigen van processen op patroon

pkill -9 mysql

Stuurt een SIGKILL signaal naar alle processen waarvan de naam 'mysql' bevat om ze gedwongen te beëindigen.

Processen beëindigen die aan specifieke gebruiker toebehoren

pkill -u www-data php-fpm

Beëindigt alle 'php-fpm' processen die toebehoren aan de gebruiker `www-data`.

Voorbeelden van gebruik

Leer hoe je de processen van het systeem effectief beheert aan de hand van verschillende voorbeelden van gebruik van de `kill`, `killall` en `pkill`-opdrachten.

Specifieke proces-ID (PID) beëindigen

kill 12345

Stuurt een SIGTERM signaal naar het proces met PID `12345` om een normale beëindiging te verzoeken.

Gedwongen beëindigen van proces (gebruik PID)

kill -9 54321

Als het proces met PID `54321` niet reageert, wordt het gedwongen beëindigd met een SIGKILL signaal.

Nginx proces herladen (gebruik SIGHUP)

sudo kill -1 $(cat /run/nginx.pid)

Zoekt naar het masterproces (PID) van Nginx en stuurt een SIGHUP signaal om het configuratiebestand opnieuw te lezen. (Het PID van het Nginx-proces kan worden gecontroleerd met `ps aux | grep nginx` enz.)

Alle Chrome-browsers beëindigen op naam

killall chrome

Beëindigt alle actieve Chrome-browsers. (Het kan zijn dat niet opgeslagen inhoud verloren gaat.)

Alle processen van gebruiker 'johndoe' beëindigen

sudo killall -9 -u johndoe

Beëindigt alle processen die worden uitgevoerd door de gebruiker `johndoe`. (Beheerdersrechten vereist.)

Proces beëindigen dat veel CPU gebruikt (voorbeeld)

# 1. PID controleren met top of htop (bijv. 12345)
# 2. Beëindig de betreffende PID
kill 12345

Een veelvoorkomend scenario is het beëindigen van een proces nadat de PID is gecontroleerd met `top` of `htop`.


Hétzelfde categoriecommando