pgrep, pkill, pidwait - caută, semnalează sau
așteaptă procesele pe baza numelui și a altor
atribute
pgrep [opțiuni] model
pkill [opțiuni] model
pidwait [opțiuni] model
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.
- -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.
- model
- Specifică o expresie regulată extinsă pentru
potrivirea cu numele proceselor sau liniile de comandă.
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)
- 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.
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.
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.
ps(1), regex(7), signal(7),
sigqueue(3), killall(1), skill(1), kill(1),
kill(2), cgroups(8).