PGREP(1)

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

REZUMAT
pgrep [opțiune ...] model

pkill [opțiune ...] model

pidwait [opțiune ...] model

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

-semnal
--signal semnal
    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
    Listează linia de comandă completă, precum și ID-ul procesului; (numai pgrep).

-A, --ignore-ancestors
    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
    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
    Stabilește șirul utilizat pentru a delimita fiecare ID de proces din ieșire (în mod implicit, o linie nouă); (numai pgrep).

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

-f, --full
    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
    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,...
    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,...
    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
    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
    Potrivește procesele fără a ține seama de diferența dintre majuscule și minuscule.

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

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

-m, --mrelease
    După trimiterea semnalului, invocă apelul de sistem process_mrelease() pentru a elibera imediat memoria procesului țintă.

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

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

-O, --older secunde
    Selectează procesele mai vechi de secunde secunde.

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

-P, --parent ppid,...
    Potrivește doar procesele al căror ID de proces părinte este listat.

-q, --queue valoare
    Trimite numărul întreg valoare împreună cu semnalul. Această opțiune va utiliza fie pidfd_send_signal(2) cu o valoare aplicată, fie sigqueue(3) în locul kill(2). Dacă procesul receptor a instalat un gestionar pentru acest semnal utilizând fanionul SA_SIGINFO pentru sigaction(2), atunci poate obține aceste date prin câmpul si_value al structurii siginfo_t.

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

-r, --runstates D,R,S,Z,...
    Potrivește numai procesele care se potrivesc cu starea procesului.

-s, --session sid,...
    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,...
    Potrivește numai procesele al căror terminal de control este listat. Numele terminalului trebuie specificat fără prefixul „/dev/”.

-u, --euid uid_efectiv,...
    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,...
    Potrivește numai procesele al căror ID de utilizator real este listat. Se poate folosi fie valoarea numerică, fie valoarea simbolică.

-v, --inverse
    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
    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
    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,...
    Potrivește pe numele grupului de control (cgroup) v2 furnizat. A se vedea cgroups(7)

--env nume[=valoare],...
    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
    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,...
    Potrivește numai spațiile de nume furnizate. Spațiile de nume disponibile, sunt: ipc, mnt, net, pid, user, uts.

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

-V, --version
    Afișează informațiile despre versiune și iese.

-h, --help
    Afișează mesajul de ajutor și iese.

OPERANZI

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

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

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
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) în loc de kill(2) sau sigqueue(3) pentru a trimite un semnal procesului țintă dacă poate obține descriptorul de fișier al procesului.

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) care a apărut pentru prima dată în nucleul Linux versiunea 5.3.

CONSULTAȚI ȘI
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)

RAPORTAREA ERORILOR
Trimiteți rapoartele de eroare la procps@freelists.org.