PGREP(1) General Commands Manual PGREP(1)

# [NAMN](#NAMN)

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

# [SYNOPSIS](#SYNOPSIS)

**pgrep** \[*flaggor* …] *mönster*

**pkill** \[*flaggor* …] *mönster*

**pidwait** \[*flaggor* …] *mönster*

# [BESKRIVNING](#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](#FLAGGOR)

[**-signal**](#signal)

[**--signal** *signal*](#signal~2)

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**](#a)

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

[**-A**, **--ignore-ancestors**](#A)

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**](#c)

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*](#d)

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

[**-e**, **--echo**](#e)

Visa namnet och PID processen som dödas. (Endast **pkill**.)

[**-f**, **--full**](#f)

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

[**-F**, **--pidfile** *fil*](#F)

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*,…](#g)

Matcha endast processer i de processgrupper vars ID listas. Processgrupp 0 översätts till **pgrep**s, **pkill**s eller **pidwait**s egen processgrupp.

[**-G**, **--group** *gid*,…](#G)

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

[**-H**, **--require-handler**](#H)

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

[**-i**, **--ignore-case**](#i)

Matcha processer skiftlägesokänsligt.

[**-l**, **--list-name**](#l)

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

[**-L**, **--logpidfile**](#L)

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

[**-m**, **--mrelease**](#m)

Anropa, efter att signalen skickats, systemanropet **process\_mrelease**() för att omedelbart frigöra målprocessens minne.

[**-n**, **--newest**](#n)

Välj endast den nyaste (senast startade) av de matchande processerna.

[**-o**, **--oldest**](#o)

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

[**-O**, **--older** *sekunder*](#O)

Välj processer som är äldre än sek.

[**-p**, **--pid** *pid*,…](#p)

Matcha endast processer vars process-ID listas. Står i konflikt med flaggan **--pidfile**.

[**-P**, **--parent** *fpid*,…](#P)

Matcha endast processer vars föräldraprocess-ID listas.

[**-q**, **--queue värde**](#q)

Sicka heltalet *värde* tillsammans med signalen. Denna flagga kommer antingen använda [**pidfd\_send\_signal**(2)](/man/os/procps/pidfd_send_signal.2) med ett värde tillagt eller [**sigqueue**(3)](/man/os/procps/sigqueue.3) istället för [**kill**(2)](/man/os/procps/kill.2). Om den mottagande processen har installerat en hanterare för denna signal med flaggan SA\_SIGINFO till [**sigaction**(2)](/man/os/procps/sigaction.2) så kan den hämta denna data via fältet si\_value i posten siginfo\_t.

[**-Q**, **--shell-quote**](#Q)

Mata ut kommandoraden citerad för ett skal. (Endast **pgrep**.)

[**-r**, **--runstates** *D,R,S,Z*,…](#r)

Matcha endast processer som matchar processtillståndet.

[**-s**, **--session** *sid*,…](#s)

Matcha endast processer vars processessions-ID listas. Sessions-ID 0 översätts till **pgrep**s, **pkill**s eller **pidwait**s eget sessions-ID.

[**-t**, **--terminal** *term*,…](#t)

Matcha endast processer vars styrande terminal listas. Terminalnamnet skall anges utan prefixet ”/dev/”.

[**-u**, **--euid** *eaid*,…](#u)

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

[**-U**, **--uid** *aid*,…](#U)

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

[**-v**, **--inverse**](#v)

Negerar matchningen. Denna flagga används oftast i **pgrep**s eller **pidwait**s sammanhang. I **pkill**s sammanhang är den korta flaggan avaktiverad för att undvika att flaggan används av misstag.

[**-w**, **--lightweight**](#w)

Visar alla tråd-id:n istället för pid:n i **pgrep**s eller **pidwait**s sammanhang. I **pkill**s sammanhang är denna flagga avaktiverad.

[**-x**, **--exact**](#x)

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

[**--cgroup namn,…**](#cgroup)

Matcha det givna styrgruppsnamnet (cgroup) v2. Se [**cgroups**(7)](/man/os/procps/cgroups.7)

[**--nslist namn,…**](#nslist)

Matcha men process som har dessa miljövariabler. Om parametern *=värde* inte är definierad matchas endast variabelnamnet.

[**--ns pid**](#ns)

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,…**](#nslist~2)

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

[**--quiet**](#quiet)

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

[**-V**, **--version**](#V)

Visa versionsinformation och avsluta.

[**-h**, **--help**](#h)

Visa hjälp och avsluta.

# [OPERANDER](#OPERANDER)

[*mönster*](#m~2)

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

# [EXEMPEL](#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](#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](#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)](/man/os/procps/pidfd_send_signal.2) istället för [**kill**(2)](/man/os/procps/kill.2) eller [**sigqueue**(3)](/man/os/procps/sigqueue.3) för att skicka en signal till målprocessen om den kan få tag i processens filbeskrivare.

# [FEL](#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)](/man/os/procps/pidfd_open.2) som först dök up i Linux 5.3.

# [SE ÄVEN](#SE_)

[**killall**(1)](/man/os/procps/killall.1), [**kill**(1)](/man/os/procps/kill.1), [**ps**(1)](/man/os/procps/ps.1), [**skill**(1)](/man/os/procps/skill.1), [**kill**(2)](/man/os/procps/kill.2), [**sigaction**(2)](/man/os/procps/sigaction.2), [**pidfd\_open**(2)](/man/os/procps/pidfd_open.2), [**pidfd\_send\_signal**(2)](/man/os/procps/pidfd_send_signal.2), [**sigqueue**(3)](/man/os/procps/sigqueue.3), [**cgroups**(7)](/man/os/procps/cgroups.7), [**regex**(7)](/man/os/procps/regex.7), [**signal**(7)](/man/os/procps/signal.7)

# [RAPPORTERA FEL](#RAPPORTERA_FEL)

Skicka felrapporter till [procps@freelists.org](mailto:procps@freelists.org). Skicka synpunkter på översättningen till[](mailto:tp-sv@listor.tp-sv.se)

2025-12-29 procps-ng

---

Document: pgrep(1) from procps 4.0.7-r3 (Chainguard OS)
Source: https://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-4.0.7.tar.xz
