table of contents
PGREP(1) | Comenzi utilizator | PGREP(1) |
NUME¶
pgrep, pkill, pidwait - caută, semnalează sau așteaptă procesele pe baza numelui și a altor atribute
REZUMAT¶
pgrep [opțiuni] model
pkill [opțiuni] model
pidwait [opțiuni] 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 numite sshd ȘI 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.
- -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ă.
- -g, --pgroup PGID,...
- 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ă.
- -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.)
- -a, --list-full
- Listează linia de comandă completă, precum și ID-ul procesului. (Numai pgrep.)
- -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, --parent ppid,...
- Potrivește doar procesele al căror ID de proces părinte este listat.
- -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.
- -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.
- -L, --logpidfile
- Eșuează dacă fișierul pid (a se vedea -F) nu este blocat.
- -r, --runstates D,R,S,Z,...
- Potrivește numai procesele care se potrivesc cu starea procesului.
- -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.
- -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.
- --cgroup nume,...
- Potriviți pe numele grupului de control (cgroup) v2 furnizat. A se vedea cgroups(8)
- --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.
- -q, --queue valoare
- Utilizează sigqueue(3) mai degrabă decât kill(2) și valoarea argumentului este folosită pentru a specifica un număr întreg care trebuie trimis împreună cu semnalul. Dacă procesul de recepție a instalat un operator pentru a gestiona acest semnal utilizând indicatorul SA_SIGINFO la sigaction(2), atunci poate obține aceste date prin câmpul si_value al structurii siginfo_t.
- -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 xterm:
- $ ps -fp $(pgrep -d, -x xterm)
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)
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.
ERORI¶
Opțiunile -n și -o și -v nu pot fi combinate. Anunțați autorii, dacă credeți că este necesar să puteți face asta.
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¶
ps(1), regex(7), signal(7), sigqueue(3), killall(1), skill(1), kill(1), kill(2), cgroups(8).
AUTOR¶
RAPORTAREA ERORILOR¶
Trimiteți rapoartele de eroare la procps@freelists.org
16.01.2023 | procps-ng |