Pkill
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.