Linux pkill Command Tutorial voor Beginners (5 Voorbeelden)

In Linux kun je, als je een proces (om wat voor reden dan ook) via de commandoregel moet doden, het kill commando gebruiken, dat vereist dat je als invoer het ID van het proces dat je wilt beëindigen opgeeft. Maar wist je dat er ook een manier bestaat om processen te doden zonder hun PID op te geven?

Ja, er is een hulpmiddel – pkill genoemd – waarmee je dit kunt doen. In dit artikel zullen we de basisprincipes van dit commando bespreken met behulp van enkele gemakkelijk te begrijpen voorbeelden. Maar voor we dat doen, is het de moeite waard te vermelden dat alle voorbeelden hier getest zijn op een Ubuntu 18.04 LTS en Debian 10 machine.

Linux pkill commando

Het pkill commando in Linux is in principe een eenvoudigere manier om processen te doden. Hieronder volgt de syntaxis ervan:

pkill [options] pattern

En hier is wat de man pagina over dit hulpmiddel zegt:

pkill - signal processes based on name and other attributes

Hieronder volgen enkele vraag-en-antwoord-achtige voorbeelden die je een steeds beter idee moeten geven over hoe het pkill commando werkt.

Q1. Hoe gebruik je het commando pkill?

Het basisgebruik is vrij rechttoe rechtaan – alles wat je hoeft te doen is ‘pkill’ uit te voeren met procesnaam als invoer.

Als je bijvoorbeeld het ‘gedit’ proces wilt doden, kun je dat met pkill op de volgende manier doen:

pkill gedit

Dat is het. Je zult zien dat het gedit proces (als het draait) gedood wordt bij uitvoering van het hierboven genoemde commando.

Q2. Hoe kun je pkill een ander signaal laten geven?

Zoals in het begin van dit artikel al gezegd, zendt het pkill commando in principe een signaal naar het proces. Standaard is het het SIGTERM signaal dat gestuurd wordt, maar als je wilt, kun je het signaal veranderen met de –signal command-line optie.

Bijvoorbeeld:

pkill --signal SIGKILL gedit

Q3. Hoe kun je processen doden op basis van de volledige commandoregel?

Standaard wordt de invoernaam (patroon) gematcht met de naam van het proces. Als je wilt, kun je pkill echter in plaats daarvan laten matchen met de volledige commandoregel. Dit kun je doen met de -f commandoregel optie.

Stel bijvoorbeeld dat er twee ping commando’s op mijn systeem draaien. Hieronder volgt een fragment uit de uitvoer van het ps commando:

...
root 19253 0.0 0.1 9180 2916 pts/1 S+ 19:24 0:00 ping google.com
root 19331 0.0 0.1 9180 2912 pts/2 S+ 19:25 0:00 ping howtoforge.com
...

Stel nu dat de eis is om alleen het ‘ping google.com’ commando te doden met pkill.

Als je pkill op de volgende manier gebruikt:

pkill ping

dan worden beide commando’s gedood. Dus om dat te vermijden kunnen we de -f command-line optie gebruiken. Hier zie je hoe het gebruikt kan worden:

pkill -f "ping google.com"

Ik heb het commando uitgevoerd in het eerste terminal venster:

Proces gedood met pkill

Resultaat in het tweede terminal venster waar het ping proces draaide:

Proces in tweede terminal gestopt met pkill commando

Dus toen het bovengenoemde commando werd uitgevoerd, werd alleen het als invoer genoemde commando gedood.

Q4. Hoe maak je pkill hoofdletterongevoelig?

Standaard is het pkill commando hoofdlettergevoelig, wat betekent dat het namen in hoofd- en kleine letters verschillend behandelt. Als je wilt, kun je pkill echter dwingen om hoofdletterongevoelig te zijn, iets wat je kunt doen met de -i command-line optie.

pkill -i [process-name]

Q5. Hoe laat je syslog zijn configuratiebestand herlezen met pkill?

Je kunt het pkill commando op de volgende manier gebruiken om dit te bereiken:

pkill -HUP syslogd

Conclusie

Dus pkill is een uiterst nuttig commando als het gaat om het doden van processen. We hebben al enkele van de commandoregelopties besproken die dit commando biedt. Als je klaar bent met deze te oefenen, kun je meer over het commando te weten komen door naar zijn man pagina te gaan.