Pkill

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

pkill - Döda processer baserat på namn och andra attribut

Kommandot `pkill` används för att skicka signaler till processer baserat på deras namn och andra attribut i Unix-liknande operativsystem.

Syntax

pkill [ALTERNATIV] MÖNSTER

Beskrivning

Kommandot `pkill` söker efter processer som matchar ett angivet mönster och skickar en signal till dessa processer. Standardmässigt skickas signalen SIGTERM, men andra signaler kan anges.

Alternativ

Kommandot `pkill` stöder flera alternativ som kan användas för att justera hur processer matchas och vilka signaler som skickas:

  • -e, --echo - Visa processen som dödades.
  • -f, --full - Matcha det fullständiga kommandoradsnamnet.
  • -g, --pgroup PGRP - Begränsa till processer i angiven processgrupp.
  • -G, --group GID - Begränsa till processer med angiven grupp-ID.
  • -i, --ignore-case - Ignorera skiftlägeskänslighet vid mönstermatchning.
  • -n, --newest - Döda den nyaste matchande processen.
  • -o, --oldest - Döda den äldsta matchande processen.
  • -P, --parent PPID - Begränsa till processer med angiven förälderprocess-ID.
  • -s, --session SID - Begränsa till processer i angiven sessions-ID.
  • -t, --terminal TERM - Begränsa till processer som körs på angiven terminal.
  • -u, --euid EUID - Begränsa till processer med angiven effektiv användar-ID.
  • -U, --uid UID - Begränsa till processer med angiven användar-ID.
  • -x, --exact - Kräva exakt matchning av processnamn.
  • -SIGNAL - Skicka den angivna signalen till processerna.
  • --help - Visa hjälpmeddelande och avsluta.
  • --version - Visa versionsinformation och avsluta.

Exempel

Här är några praktiska exempel som visar hur du kan använda `pkill`-kommandot:

  • För att döda alla processer med namnet "firefox":

pkill firefox

  • För att döda den nyaste processen med namnet "nginx":

pkill -n nginx

  • För att skicka signalen SIGKILL till alla processer med namnet "apache2":

pkill -SIGKILL apache2

  • För att döda processer som körs av användaren "bob":

pkill -u bob

  • För att döda processer som matchar det fullständiga kommandoradsnamnet "python script.py":

pkill -f "python script.py"

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `pkill`-kommandot på macOS jämfört med Linux:

  • Tillgänglighet: `pkill` är tillgängligt både på macOS och Linux, men med vissa skillnader i alternativ och beteende.
  • Alternativ: Vissa alternativ som finns på Linux-versionen av `pkill` kan saknas eller ha annorlunda beteende på macOS. Till exempel kan alternativ som `-P` och `-G` inte vara tillgängliga eller fungera annorlunda på macOS.
  • Processhantering: Även om grundläggande funktionalitet är densamma kan detaljer i processhanteringen skilja sig mellan macOS och Linux.

Exempel på att använda `pkill` på macOS:

  • För att döda alla processer med namnet "Safari":

pkill Safari

  • För att döda processer som matchar det fullständiga kommandoradsnamnet "node server.js":

pkill -f "node server.js"

Det är alltid bra att konsultera `man`-sidan för `pkill` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `pkill`, kontrollera följande:

  • Att du har tillräckliga rättigheter för att skicka signaler till processerna (använd `sudo` om nödvändigt).
  • Att mönstret du försöker matcha faktiskt överensstämmer med någon process som körs.
  • Att du använder rätt syntax och alternativ för ditt specifika kommando.

Se även

  • kill - Skicka signaler till processer.
  • pgrep - Sök efter processer baserat på namn och andra attribut.
  • killall - Döda processer baserat på namn.

Källor