PGREP(1) General Commands Manual PGREP(1)

# [NUME](#NUME)

pgrep, pkill, pidwait - caută, semnalează sau așteaptă procesele pe baza numelui și a altor atribute

# [REZUMAT](#REZUMAT)

**pgrep** \[*opțiune* ...] *model*

**pkill** \[*opțiune* ...] *model*

**pidwait** \[*opțiune* ...] *model*

# [DESCRIERE](#DESCRIERE)

**pgrep** examinează procesele care rulează în prezent și listează ID-urile proceselor care corespund criteriilor de selecție la ieșirea standard. Toate criteriile trebuie să se potrivească. De exemplu,

$ pgrep -u root sshd

va lista numai procesele ale căror nume includ **sshd** ȘI care sunt deținute de **root**. Pe de altă parte,

$ pgrep -u root,daemon

va lista procesele deținute de **root** SAU **daemon**.

**pkill** va trimite semnalul specificat (în mod implicit **SIGTERM**) către fiecare proces în loc să le listeze la ieșirea standard.

**pidwait** va aștepta pentru fiecare proces în loc să le listeze la ieșirea standard.

# [OPȚIUNI](#OP)

[**-semnal**](#semnal)

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

Definește semnalul care urmează să fie trimis fiecărui proces asociat. Se poate utiliza fie numele numeric, fie numele simbolic al semnalului. În modul **pgrep** sau **pidwait**, se poate utiliza numai opțiunea lungă, care nu are niciun efect, cu excepția cazului în care este utilizată împreună cu **--require-handler** pentru a filtra procesele care au un gestionar de semnal în spațiul utilizatorului pentru un anumit semnal.

[**-a**, **--list-full**](#a)

Listează linia de comandă completă, precum și ID-ul procesului; (numai **pgrep**).

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

Ignoră toți antecesorii lui **pgrep**, **pkill** și **pidwait**. De exemplu, acest lucru poate fi util atunci când escaladați drepturile de acces folosind **sudo** sau instrumente similare.

[**-c**, **--count**](#c)

Suprimă ieșirea normală; în schimb, afișează un număr de procese de potrivire. Când numărul nu corespunde cu nimic, de exemplu returnează zero, comanda va returna o valoare diferită de zero. Rețineți că pentru pkill și pidwait, numărul este numărul de procese de potrivire, nu procesele care au fost semnalate cu succes sau așteptate.

[**-d**, **--delimiter** *delimitator*](#d)

Stabilește șirul utilizat pentru a delimita fiecare ID de proces din ieșire (în mod implicit, o linie nouă); (numai **pgrep**).

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

Afișează numele și PID-ul procesului în curs de omorâre; (numai **pkill**).

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

*modelul* se potrivește în mod normal doar cu numele procesului. Când este dată opțiunea **-f**, se utilizează linia de comandă completă.

[**-F**, **--pidfile** *fișier*](#F)

Citește *PID*-urile din *fișier*. Această opțiune este mai utilă pentru **pkill** sau **pidwait** decât pentru **pgrep**. Numele de fișier „-” poate fi utilizat pentru a citi de la *STDIN* (intrarea standard). În conflict cu opțiunea **--pid**.

[**-g**, **--pgroup** *pgrp*,...](#g)

Potrivește numai procesele din ID-urile grupului de procese enumerate. Grupul de procese 0 este convertit în grupul de procese propriu al lui **pgrep**, **pkill** sau **pidwait**.

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

Potrivește numai procesele al căror ID de grup real este listat. Se poate folosi fie valoarea numerică, fie valoarea simbolică.

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

Se potrivește numai cu procesele care au un gestionar de semnal din spațiul utilizatorului prezent pentru semnalul care urmează să fie trimis.

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

Potrivește procesele fără a ține seama de diferența dintre majuscule și minuscule.

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

Listează numele procesului, precum și ID-ul procesului; (numai **pgrep**).

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

Eșuează dacă fișierul pid (a se vedea **-F**) nu este blocat.

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

După trimiterea semnalului, invocă apelul de sistem **process\_mrelease**() pentru a elibera imediat memoria procesului țintă.

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

Selectează doar cel mai nou (cel mai recent început) dintre procesele care s-au potrivit modelului dat.

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

Selectați doar cel mai vechi (cel mai puțin recent) început dintre procesele care s-au potrivit modelului dat.

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

Selectează procesele mai vechi de *secunde* secunde.

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

Potrivește doar procesele al căror ID de proces părinte este listat. În conflict cu opțiunea **--pidfile**.

[**-P**, **--parent** *ppid*,...](#P)

Potrivește doar procesele al căror ID de proces părinte este listat.

[**-q**, **--queue valoare**](#q)

Trimite numărul întreg *valoare* împreună cu semnalul. Această opțiune va utiliza fie [**pidfd\_send\_signal**(2)](/man/os/procps/pidfd_send_signal.2) cu o valoare aplicată, fie [**sigqueue**(3)](/man/os/procps/sigqueue.3) în locul [**kill**(2)](/man/os/procps/kill.2). Dacă procesul receptor a instalat un gestionar pentru acest semnal utilizând fanionul SA\_SIGINFO pentru [**sigaction**(2)](/man/os/procps/sigaction.2), atunci poate obține aceste date prin câmpul si\_value al structurii siginfo\_t.

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

Afișează linia de comandă în forma citată a shell-ului; (numai **pgrep**).

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

Potrivește numai procesele care se potrivesc cu starea procesului.

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

Potrivește doar procesele al căror ID de sesiune de proces este listat. ID-ul de sesiune 0 este convertit în ID-ul de sesiune al lui **pgrep**, **pkill** sau **pidwait**.

[**-t**, **--terminal** *terminal*,...](#t)

Potrivește numai procesele al căror terminal de control este listat. Numele terminalului trebuie specificat fără prefixul „/dev/”.

[**-u**, **--euid** *uid\_efectiv*,...](#u)

Potrivește numai procesele al căror ID de utilizator efectiv este listat. Se poate folosi fie valoarea numerică, fie valoarea simbolică.

[**-U**, **--uid** *uid*,...](#U)

Potrivește numai procesele al căror ID de utilizator real este listat. Se poate folosi fie valoarea numerică, fie valoarea simbolică.

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

Inversează rezultatul potrivirii(va afișa toate procesele ce NU se potrivesc cu modelul). Această opțiune este de obicei folosită în contextul lui **pgrep** sau **pidwait**. În contextul lui **pkill**, opțiunea scurtă este dezactivată pentru a evita utilizarea accidentală a opțiunii.

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

Afișează toate ID-urile firelor de execuție în loc de id-urile proceselor în contextul lui **pgrep** sau **pidwait**. În contextul lui **pkill**, această opțiune este dezactivată.

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

Potrivește numai procesele ale căror nume (sau linii de comandă dacă este specificată opțiunea **-f**) se potrivesc **exact** cu *modelul*.

[**--cgroup nume,...**](#cgroup)

Potrivește pe numele grupului de control (cgroup) v2 furnizat. A se vedea [**cgroups**(7)](/man/os/procps/cgroups.7)

[**--env nume**\[*=valoare*\],...](#env)

Se potrivește cu procesele care au aceste variabile de mediu. Dacă parametrul *=valoare* nu este definit, atunci numai numele variabilei este comparat.

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

Potrivește procesele care aparțin acelorași spații de nume. Este necesar să ruleze ca root pentru a potrivi procesele de la alți utilizatori. Consultați **--nslist** pentru cum să limitați spațiile de nume care să corespundă.

[**--nslist nume,...**](#nslist)

Potrivește numai spațiile de nume furnizate. Spațiile de nume disponibile, sunt: ipc, mnt, net, pid, user, uts.

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

Nu scrie nimic la ieșirea standard (numai **pgrep**).

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

Afișează informațiile despre versiune și iese.

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

Afișează mesajul de ajutor și iese.

# [OPERANZI](#OPERANZI)

[*model*](#model)

Specifică o expresie regulată extinsă pentru potrivirea cu numele proceselor sau liniile de comandă.

# [EXEMPLE](#EXEMPLE)

Exemplul 1: Găsiți ID-ul de proces al demonului **named**:

$ pgrep -u root named

Exemplul 2: Face ca **syslog** să recitească fișierul său de configurare:

$ pkill -HUP syslogd

Exemplul 3: Oferă informații detaliate despre toate procesele **bash**:

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

Exemplul 4: Face ca toate procesele **chrome** să ruleze cu o valoare „nice”, incrementată (să ruleze cu o prioritate mai mică):

$ renice +4 $(pgrep chrome)

Exemplul 5: Așteaptă ca un proces cu un PID cunoscut să finalizeze:

$ echo ${PID} | pidwait -F -

# [STARE DE IEȘIRE](#STARE_DE_IE)

**0**

Unul sau mai multe procese s-au potrivit cu criteriile. Pentru **pkill** și **pidwait**, unul sau mai multe procese trebuie, de asemenea, să fi fost semnalate sau așteptate cu succes.

**1**

Niciun proces nu s-a potrivit sau niciunul dintre ele nu a putut fi semnalat.

**2**

Eroare de sintaxă în linia de comandă.

**3**

Eroare fatală: memorie insuficientă, etc.

# [NOTE](#NOTE)

Numele procesului folosit pentru potrivire este limitat la cele 15 caractere prezente în ieșirea /proc/*pid*/stat. Utilizați opțiunea **-f** pentru a se potrivi cu linia de comandă completă, /proc/*pid*/cmdline. Este posibil ca firele de execuție să nu aibă același nume de proces ca și procesul părinte, dar vor avea aceeași linie de comandă.

Procesul care rulează **pgrep**, **pkill** sau **pidwait** nu se va raporta niciodată ca o potrivire.

Opțiunea **-O --older** va eșua în tăcere dacă */proc* este montat cu opțiunea *subset=pid*.

**pkill** va încerca să utilizeze [**pidfd\_send\_signal**(2)](/man/os/procps/pidfd_send_signal.2) în loc de [**kill**(2)](/man/os/procps/kill.2) sau [**sigqueue**(3)](/man/os/procps/sigqueue.3) pentru a trimite un semnal procesului țintă dacă poate obține descriptorul de fișier al procesului.

# [ERORI](#ERORI)

Opțiunile **-n** și **-o** și **-v** nu pot fi combinate. Anunțați autorii, dacă credeți că este necesar să faceți acest lucru.

Dacă procesele pornesc în același interval de timp (de obicei, dar nu întotdeauna, o sutime de secundă), opțiunile **-n** și **-o** nu vor putea distinge care proces a pornit în același interval de timp și pot da rezultate eronate.

Sunt raportate procesele defuncte.

**pidwait** necesită apelul de sistem [**pidfd\_open**(2)](/man/os/procps/pidfd_open.2) care a apărut pentru prima dată în nucleul Linux versiunea 5.3.

# [CONSULTAȚI ȘI](#CONSULTA)

[**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)

# [RAPORTAREA ERORILOR](#RAPORTAREA_ERORILOR)

Trimiteți rapoartele de eroare la [procps@freelists.org](mailto:procps@freelists.org).

29.12.2025 procps-ng

---

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