| PGREP(1) | General Commands Manual | 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.
| 29.12.2025 | procps-ng |