Pgrep
pgrep - Sök efter processer baserat på namn och andra attribut
Kommandot `pgrep` används för att söka efter processer som matchar ett angivet namn eller andra attribut i Unix-liknande operativsystem.
Syntax
pgrep [ALTERNATIV] MÖNSTER
Beskrivning
Kommandot `pgrep` söker efter processer som matchar ett angivet mönster och returnerar deras process-ID:n. Det är användbart för att hitta processer baserat på namn eller andra attribut.
Alternativ
Kommandot `pgrep` stöder flera alternativ som kan användas för att justera hur processer matchas och hur resultaten visas:
- -c, --count - Visa antalet processer som matchar.
- -d, --delimiter DELIM - Använd angiven avgränsare istället för newline.
- -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.
- -l, --list-name - Visa både process-ID och processnamn.
- -n, --newest - Visa endast den nyaste matchande processen.
- -o, --oldest - Visa endast 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.
- -v, --inverse - Invertera matchningen.
- -w, --lightweight - Visa endast process-ID:n (synonym för --oldest och --newest).
- --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 `pgrep`-kommandot:
- För att hitta alla processer med namnet "firefox":
pgrep firefox
- För att hitta process-ID:n för processer som matchar det fullständiga kommandoradsnamnet "python script.py":
pgrep -f "python script.py"
- För att visa antalet processer som matchar namnet "nginx":
pgrep -c nginx
- För att hitta processer som ägs av användaren "bob":
pgrep -u bob
- För att hitta den nyaste processen med namnet "apache2":
pgrep -n apache2
- För att visa både process-ID och processnamn för processer som matchar "sshd":
pgrep -l sshd
Skillnader mellan macOS och Linux
Det finns några viktiga skillnader att tänka på när man använder `pgrep`-kommandot på macOS jämfört med Linux:
- Tillgänglighet: `pgrep` ä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 `pgrep` 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 `pgrep` på macOS:
- För att hitta alla processer med namnet "Safari":
pgrep Safari
- För att hitta process-ID:n för processer som matchar det fullständiga kommandoradsnamnet "node server.js":
pgrep -f "node server.js"
Det är alltid bra att konsultera `man`-sidan för `pgrep` 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 `pgrep`, kontrollera följande:
- Att du använder rätt syntax och alternativ för ditt specifika kommando.
- Att processerna du försöker hitta faktiskt existerar och körs.
- Att du har tillräckliga rättigheter för att söka efter de specifika processerna (använd `sudo` om nödvändigt).
Se även
- kill - Skicka signaler till processer.
- pkill - Döda processer baserat på namn och andra attribut.
- ps - Visa information om pågående processer.
- top - Visa systemets aktuella processoraktivitet.