PGREP(1)

NAMN
pgrep, pkill, pidwait — slå upp, signalera eller vänta på processer baserat på namn och andra attribut

SYNOPSIS
pgrep [flaggor …] mönster

pkill [flaggor …] mönster

pidwait [flaggor …] mönster

BESKRIVNING
pgrep letar igenom de just nu körande processerna och listar de process-ID:n som matchar urvalskriterierna till standard ut. Alla kriterierna måste matcha. Till exempel,

    $ pgrep -u root sshd

kommer endast lista processer vars namn inkluderar sshd OCH ägs av root. Å andra sidan,

    $ pgrep -u root,daemon

kommer lista processerna som ägs av root ELLER daemon.

pkill kommer skicka den angivna signalen (SIGTERM som standard) till varje process istället för att lista dem på standard ut.

pidwait kommer vänta på varje process istället för att räkna upp dem på standard ut.

FLAGGOR

-signal
--signal signal
    Definierar signalen att skicka till varje matchad process. Antingen det numeriska eller det symboliska signalnamnet kan användas. I pgrep- eller pidwait-läge endast kan flaggan long användas och har ingen effekt om det inte används tilsammans med filtret --require-handler för att filtrera ut processer där det finns en signalhanterare i användarrymden för en viss signal.

-a, --list-full
    Lista den fullständiga kommandoraden såväl som process-ID:t. (Endast pgrep.)

-A, --ignore-ancestors
    Ignorera alla förfäder till pgrep, pkill eller pidwait. Till exempel kan detta vara användbart när man höjer med sudo eller liknande verktyg.

-c, --count
    Utelämna normal utmatning; skriv istället antalet processer som matchar. När antalet inte matchar något, d.v.s. returnerar noll, kommer kommandot returnera ett värde skilt från noll. Observera att för pkill och pidwait är numret antalet matchande processer, inte processerna som man lyckades skicka en signal till eller vänta på.

-d, --delimiter avgränsare
    Sätter strängen som används för att avgränsa varje process-ID i utdata (nyrad som standard). (Endast pgrep.)

-e, --echo
    Visa namnet och PID processen som dödas. (Endast pkill.)

-f, --full
    Mönstret matchas normalt endast mot processnamnet. När -f anges används hela kommandoraden.

-F, --pidfile fil
    Läs PID:ar från fil. Denna flagga är mer användbar för pkill eller pidwait än pgrep. Filnamnet ”-” kan användas för att läsa från STDIN. Står i konflikt med flagga --pid.

-g, --pgroup pgrp,…
    Matcha endast processer i de processgrupper vars ID listas. Processgrupp 0 översätts till pgreps, pkills eller pidwaits egen processgrupp.

-G, --group gid,…
    Matcha endast processer vars verkliga grupp-ID listas. Både det numeriska och det symboliska värdet kan användas.

-H, --require-handler
    Matcha endast processer där det finns en signalhanterare i användarrymden för signalen som skall skickas.

-i, --ignore-case
    Matcha processer skiftlägesokänsligt.

-l, --list-name
    Lista processnamnet såväl som process-ID:t. (Endast pgrep.)

-L, --logpidfile
    Misslyckas om pid-filen (se -F) inte är låst.

-m, --mrelease
    Anropa, efter att signalen skickats, systemanropet process_mrelease() för att omedelbart frigöra målprocessens minne.

-n, --newest
    Välj endast den nyaste (senast startade) av de matchande processerna.

-o, --oldest
    Välj endast den äldsta (minst nyligen startade) av de matchande processerna.

-O, --older sekunder
    Välj processer som är äldre än sek.

-p, --pid pid,…
    Matcha endast processer vars process-ID listas. Står i konflikt med flaggan --pidfile.

-P, --parent fpid,…
    Matcha endast processer vars föräldraprocess-ID listas.

-q, --queue värde
    Sicka heltalet värde tillsammans med signalen. Denna flagga kommer antingen använda pidfd_send_signal(2) med ett värde tillagt eller sigqueue(3) istället för kill(2). Om den mottagande processen har installerat en hanterare för denna signal med flaggan SA_SIGINFO till sigaction(2) så kan den hämta denna data via fältet si_value i posten siginfo_t.

-Q, --shell-quote
    Mata ut kommandoraden citerad för ett skal. (Endast pgrep.)

-r, --runstates D,R,S,Z,…
    Matcha endast processer som matchar processtillståndet.

-s, --session sid,…
    Matcha endast processer vars processessions-ID listas. Sessions-ID 0 översätts till pgreps, pkills eller pidwaits eget sessions-ID.

-t, --terminal term,…
    Matcha endast processer vars styrande terminal listas. Terminalnamnet skall anges utan prefixet ”/dev/”.

-u, --euid eaid,…
    Matcha endast processer vars effektiva användar-ID listas. Både det numeriska och symboliska värdet kan användas.

-U, --uid aid,…
    Matcha endast processer vars verkliga användar-ID listas. Både det numeriska och symboliska värdet kan användas.

-v, --inverse
    Negerar matchningen. Denna flagga används oftast i pgreps eller pidwaits sammanhang. I pkills sammanhang är den korta flaggan avaktiverad för att undvika att flaggan används av misstag.

-w, --lightweight
    Visar alla tråd-id:n istället för pid:n i pgreps eller pidwaits sammanhang. I pkills sammanhang är denna flagga avaktiverad.

-x, --exact
    Matcha endast processer vars namn (eller kommandorader om -f anges) exakt matchar mönstret.

--cgroup namn,…
    Matcha det givna styrgruppsnamnet (cgroup) v2. Se cgroups(7)

--nslist namn,…
    Matcha men process som har dessa miljövariabler. Om parametern =värde inte är definierad matchas endast variabelnamnet.

--ns pid
    Matcha processer som hör till samma namnrymder. Måste köras som root för att matcha andra användares processer. Se --nslist för hur man begränsar vilka namnrymder som skall matchas.

--nslist namn,…
    Matcha endast de angivna namnrymderna. Tillgängliga namnrymder: ipc, mnt, net, pid, user, uts.

--quiet
    Skriv inte något till standard ut (endast pgrep).

-V, --version
    Visa versionsinformation och avsluta.

-h, --help
    Visa hjälp och avsluta.

OPERANDER

mönster
    Specificerar ett utökat reguljärt uttryck att matcha mot processnamnen eller kommandoraderna.

EXEMPEL
Exempel 1: Hitta process-ID:t för demonen named:

    $ pgrep -u root named

Exempel 2: Få syslog att läsa om sin konfigurationsfil:

    $ pkill -HUP syslogd

Exempel 3: Ge detaljerad information om alla bash-processer:

    $ ps -fp $(pgrep -d, -x bash)

Exempel 4: Få alla chrome-processer köra med nice:

    $ renice +4 $(pgrep chrome)

Exempel 5: vänta på att en process med ett känt PID avlutas:

    $ echo ${PID} | pidwait -F -

SLUTSTATUS

0   En eller flera processer matchar kriterierna. För pkill och pidwait måste även en eller flera processer framgångsrikt ha signalerats.

1   Inga processer matchade eller inga av dem kunde signaleras.

2   Syntaxfel på kommandoraden.

3   Ödesdigert fel: slut på minne etc.

OBSERVERA
Processnamnet som används för att matcha är begränsat till de 15 tecknen som är med i utdata från /proc/pid/stat. Använd flaggan -f för att matcha mot den fullständiga kommandoraden, /proc/pid/cmdline. Trådar behöver inte ha samma processnamn som föräldraprocessen men kommer ha samma kommandorad.

Den körande pgrep-, pkill- eller pidwait-processen kommer aldrig rapportera sig själv som en matchning.

Flagga -O --older kommer tyst misslyckas om /proc är monterat med flaggan subset=pid.

pkill kommer försöka använda pidfd_send_signal(2) istället för kill(2) eller sigqueue(3) för att skicka en signal till målprocessen om den kan få tag i processens filbeskrivare.

FEL
Flaggorna -n och -o och -v kan inte kombineras. Berätta för mig om du behöver kunna göra detta.

Om processer startar i samma klocktick (vanligen men inte alltid en 100-del av en sekund) kommer flaggorna -n och -o inte kunna skilja på vilken process som startades i samma klocktick och kan ge felaktiga resultat.

Döda (defunct) processer rapporteras.

pidwait behöver systemanropet pidfd_open(2) som först dök up i Linux 5.3.

SE ÄVEN
killall(1), kill(1), ps(1), skill(1), kill(2), sigaction(2), pidfd_open(2), pidfd_send_signal(2), sigqueue(3), cgroups(7), regex(7), signal(7)

RAPPORTERA FEL
Skicka felrapporter till procps@freelists.org. Skicka synpunkter på översättningen till