Administrarea procesului

Gestionarea proceselor în Ubuntu Linux

Gestionarea proceselor în Ubuntu Linux
Gestionarea proceselor în Linux este un subiect important de învățat și de înțeles, deoarece este un sistem de operare multitasking și are multe procese în desfășurare în același timp. Linux oferă multe instrumente pentru gestionarea proceselor, cum ar fi listarea proceselor care rulează, procesele de eliminare, monitorizarea utilizării sistemului etc. În Linux, fiecare proces este reprezentat de ID-ul său de proces (PID). Există câteva alte atribute procesului, cum ar fi ID-ul utilizatorului și ID-ul grupului, dacă un utilizator sau un grup rulează procesul. Uneori trebuie să omoriți sau să interacționați cu un proces, deci ar trebui să știți cum să gestionați aceste procese pentru ca sistemul dvs. să funcționeze fără probleme. În Linux, procesele pot fi gestionate cu comenzi precum ps, pstree, pgrep, pkill, lsof, top, nice, renice and kill, etc.

Procese

Rularea unei instanțe a unui program se numește proces. În Linux, id-ul procesului (PID) este utilizat pentru a reprezenta un proces care este distinct pentru fiecare proces. Există două tipuri de procese,

Procese de fundal

Procesele de fundal încep în terminal și rulează singure. Dacă rulați un proces în terminal, ieșirea acestuia va fi afișată într-o fereastră a terminalului și puteți interacționa cu acesta, dar dacă nu trebuie să interacționați cu procesul, îl puteți rula în fundal. Dacă doriți să rulați un proces în fundal, trebuie doar să adăugați un semn „&” la sfârșitul comenzii și acesta va începe să ruleze în fundal; vă va economisi timp și veți putea începe un alt proces. Pentru listarea proceselor care rulează în fundal, utilizați comanda „joburi”.„Va afișa toate procesele care rulează în fundal.

De exemplu, actualizarea este un proces lung în Linux. Este nevoie de prea mult timp și, dacă doriți să faceți alte lucruri în timp ce sistemul se actualizează, utilizați comanda de fundal.

[e-mail protejat]: ~ $ sudo apt-get upgrade -y &

Va începe să ruleze în fundal. Și între timp puteți interacționa cu alte programe. Puteți verifica câte și ce procese rulează în fundal tastând această comandă.

[e-mail protejat]: ~ $ joburi
[1] + Rularea sudo apt-get upgrade -y &

Procese de prim plan

Toate procesele pe care le executăm în terminal sunt, în mod implicit, rulate ca procese din prim-plan. Le putem gestiona prin comenzi de prim plan și de fundal.

Puteți aduce în prim plan orice proces de fundal listat în joburi tastând comanda „fg” urmată de numărul procesului de fundal.

[e-mail protejat]: ~ $ fg% 1
sudo apt-get upgrade -y

Și dacă doriți să duceți acest proces la fundal, tastați această comandă.

[e-mail protejat]: ~ $ bg% 1

Listarea și gestionarea proceselor cu comanda ps

Procesul de listare cu comanda ps este unul dintre cele mai vechi moduri de a vizualiza procesele care rulează terminalul. Tastați comanda ps pentru a enumera ce procese rulează și câtă resursă de sistem utilizează și cine le rulează.

[e-mail protejat]: ~ $ ps u
PID UTILIZATOR% CPU% MEM VSZ RSS TTY STAT TIMP DE PORNIRE COMANDĂ
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl + 13:07 0:00 shell
Jim 1564 5.2 0.9 881840 78704 tty2 Sl + 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 puncte / 0 SS 13:08 0:00 bash
Jim 15604 0.0 0.0 11836 3412 puncte / 0 R + 17:19 0:00 ps u
... trage ..

Coloana utilizator afișează numele utilizatorului în tabelul de mai sus, iar PID arată ID-ul procesului. Puteți utiliza PID pentru a ucide sau a trimite semnalul de ucidere către un proces. % CPU arată procentul procesorului procesorului, și% MEM arată utilizarea memoriei cu acces aleatoriu. Pentru a ucide un proces, tastați.

[e-mail protejat]: ~ $ kill [proces ID (PID)]

sau

[e-mail protejat]: ~ $ kill -9 [ID proces (PID)]

Utilizați comanda ps aux pentru a vedea toate procesele care rulează și adăugați o conductă pentru a o vedea în ordine.

[e-mail protejat]: ~ $ ps aux | Mai puțin

Dacă doriți să rearanjați coloanele, o puteți face adăugând un steag -e pentru enumerarea tuturor proceselor și -o pentru indicarea coloanelor după cuvinte cheie din comanda ps.

[protejat prin e-mail]: ~ $ ps -eo pid, utilizator, uid,% cpu,% mem, vsz, rss, comm
PID USER UID% CPU% MEM VSZ RSS COMMAND
1 rădăcină 0 0.1 0.1 167848 11684 sistematizat
3032 jim 1000 16.5 4.7 21744776 386524 crom
... trage ..

Opțiuni pentru comanda ps.

Opțiunea u este utilizată pentru listarea proceselor de către utilizatori.

[e-mail protejat]: ~ $ ps u

Opțiunea f este utilizată pentru a afișa lista completă.

[e-mail protejat]: ~ $ ps f

Opțiunea x este utilizată pentru a afișa informații despre proces fără un terminal.

[e-mail protejat]: ~ $ ps x

Opțiunea e este utilizată pentru a afișa informații extinse.

[e-mail protejat]: ~ $ ps e

o opțiune este utilizată pentru listarea tuturor proceselor cu terminalul.

[e-mail protejat]: ~ $ ps a

Opțiunea v este utilizată pentru a afișa formatul de memorie virtuală.

[e-mail protejat]: ~ $ ps v

Steaguri pentru comanda ps.

-Steagul e este utilizat pentru a vedea fiecare proces din sistem.

[e-mail protejat]: ~ $ ps -e

-Steagul u este utilizat pentru a vedea procesele care rulează ca root.

[e-mail protejat]: ~ $ ps -u

-Steagul f este utilizat pentru o listă completă a proceselor.

[e-mail protejat]: ~ $ ps -f

-o pavilion este utilizat pentru listarea proceselor în coloana dorită.

[e-mail protejat]: ~ $ ps -o
pstree

pstree este o altă comandă pentru listarea proceselor; arată ieșirea într-un format de copac.

[e-mail protejat]: ~ $ pstree

Opțiuni pentru comanda pstree

-n este folosit pentru sortarea proceselor de către PID.

[e-mail protejat]: ~ $ pstree -n

-H este folosit pentru evidențierea proceselor.

[e-mail protejat]: ~ $ pstree -H [PID]
[protejat prin e-mail]: ~ $ pstree -H 6457

-A este utilizat pentru afișarea ieșirii, inclusiv a argumentelor din linia de comandă.

[e-mail protejat]: ~ $ pstree -a

-g este folosit pentru afișarea proceselor după ID-ul grupului.

[e-mail protejat]: ~ $ pstree -g

-s este folosit pentru însămânțarea copacului sau proces specific.

[e-mail protejat]: ~ $ pstree -s [PID]
[protejat prin e-mail]: ~ $ pstree -s 6457

[nume de utilizator] este utilizat pentru afișarea proceselor deținute de un utilizator.

[e-mail protejat]: ~ $ pstree [userName]
[e-mail protejat]: ~ $ pstree jim
pgrep

Cu comanda pgrep, puteți găsi un proces de rulare bazat pe anumite criterii. Puteți utiliza numele complet sau abrevierea procesului pentru a găsi sau după numele de utilizator sau alte atribute. Comanda pgrep urmează următorul model.

[e-mail protejat]: ~ $ Pgrep [opțiune] [model]
[email protected]: ~ $ pgrep -u jim chrome
Opțiuni pentru comanda pgrep

-eu este folosit pentru căutarea nesensibilă la majuscule

[e-mail protejat]: ~ $ Pgrep -i Firefox

-d este folosit pentru delimitarea ieșirii

[e-mail protejat]: ~ $ Pgrep -u jim -d:

-tu este folosit pentru găsirea procesului deținut de un utilizator

[e-mail protejat]: ~ $ Pgrep -u jim

-A este folosit pentru listarea proceselor alături de comenzile lor

[e-mail protejat]: ~ $ Pgrep -u jim -a

-c este folosit pentru a arăta numărul proceselor de potrivire

[e-mail protejat]: ~ $ Pgrep -c -u jim

-l este folosit pentru listarea proceselor și numele acestora

[e-mail protejat]: ~ $ Pgrep -u jim -l
pkill

Cu comanda pkill, puteți trimite un semnal către un proces care rulează pe baza anumitor criterii. Puteți utiliza numele complet sau abrevierea procesului pentru a găsi sau după numele de utilizator sau alte atribute. Comanda pgrep urmează următorul model.

[e-mail protejat]: ~ $ Pkill [Opțiuni] [Modele]
[e-mail protejat]: ~ $ Pkill -9 crom
Opțiuni pentru comanda pkill

-semnal este utilizat pentru trimiterea unui semnal e.g. SIGKILL, SIGTERM etc.

[e-mail protejat]: ~ $ Pkill --signal SIGTERM vscode

-HUP este folosit pentru reîncărcarea unui proces

[e-mail protejat]: ~ $ Pkill -HUP syslogd

-f este utilizat pentru uciderea proceselor bazate pe linia de comandă completă.

[protejat prin e-mail]: ~ $ Pkill -f „ping 7.7.7.7 ”

-tu este folosit pentru uciderea tuturor proceselor deținute de un utilizator.

[e-mail protejat]: ~ $ Pkill -u jim

-eu este utilizat pentru uciderea insensibilă a cazurilor a procesului de către pkill.

[e-mail protejat]: ~ $ Pkill -i Firefox

-9 este utilizat pentru trimiterea unui semnal de ucidere.

[e-mail protejat]: ~ $ Pkill -9 crom

-15 este utilizat pentru trimiterea unui semnal de terminare.

[e-mail protejat]: ~ $ Pkill -15 vlc
lsof (Lista fișierelor deschise)

Acest utilitar din linia de comandă este utilizat pentru listarea fișierelor deschise de mai multe procese. Și, după cum știm, toate sistemele UNIX / Linux recunosc totul ca un fișier, deci este convenabil să utilizați comanda lsof pentru a lista toate fișierele deschise.

[e-mail protejat]: ~ $ lsof

În tabelul de mai sus al comenzii lsof, FD reprezintă descrierea fișierului, cwd reprezintă directorul de lucru curent, txt înseamnă fișier text, mem înseamnă fișiere mapate în memorie, mmap înseamnă dispozitive mapate în memorie, REG reprezintă un fișier obișnuit, DIR reprezintă Director, rtd înseamnă director rădăcină. Există alte opțiuni pe care le puteți utiliza cu comanda lsof.

Opțiuni pentru comanda lsof.

-c este folosit pentru listarea fișierelor deschise după numele procesului lor.

[e-mail protejat]: ~ $ lsof -c crom

-tu este utilizat pentru listarea fișierelor deschise de către un utilizator.

[e-mail protejat]: ~ $ lsof -u jim

-eu este utilizat pentru listarea proceselor care se execută pe un port.

[e-mail protejat]: ~ $ lsof -i

+D este utilizat pentru listarea fișierelor deschise într-un director.

[e-mail protejat]: ~ $ lsof + D / home /

-p este utilizat pentru listarea fișierelor deschise printr-un proces.

[protejat prin e-mail]: ~ $ lsof -p 1342

Listarea și gestionarea procesului cu comandă superioară

Cu comanda de sus, puteți afișa o vizualizare în timp real a proceselor de sistem care rulează. Afișează procesele în funcție de utilizarea procesorului. Puteți sorta coloana în funcție de dvs. Comanda de sus oferă, de asemenea, câteva informații despre sistemul dvs., cum ar fi cât timp funcționează sistemul sau câți utilizatori sunt atașați la sistem și câte procese rulează, cât de mult CPU și RAM sunt utilizate și o listă a fiecăruia proces.

Tastați partea de sus a comenzii pentru a enumera procesele care rulează.

[e-mail protejat]: ~ $ top
Sarcini: 291 în total, 1 alergat, 290 dormit, 0 oprit, 0 zombie
% CPU (s): 2.3us, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0hi, 0.0si, 0.0
MiB Mem: 7880.6 în total, 1259.9 gratuit, 3176 folosit, 3444.4 buff / cache
MiB Swap: 2048.0 în total, 2048.0 gratuit, 0.0 folosit. 4091.8 folos Mem
PID USER PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND
3241 jim 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 crom
3327 jim 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 crom
2920 jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 crom
3423 jim 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 crom
3030 jim 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 crom
3937 jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 crom
1603 jim 20 0 825608 67532 40416 S 0.3 0.8 3:13.52 Xorg
1756 jim 20 0 4154828 257056 10060 S 0.3 3.2 5:53.31 gnome-s+
1898 jim 20 0 289096 29284 5668 S 0.3 0.4 1:06.28 fusuma
3027 jim 20 0 587580 14304 75960 S 0.3 1.8 9:43.59 crom
3388 jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 crom
3409 jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 crom
3441 jim 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 crom
.. .croitor… .

De asemenea, puteți efectua unele acțiuni cu comanda de sus pentru a face modificări în procesele care rulează; aici este lista de mai jos.

Rețineți ce proces consumă mai multă memorie sau CPU. Acele procese care consumă mai multă memorie pot fi omorâte, iar acele procese care consumă mai mult CPU pot fi renunțate pentru a le da mai puțină importanță procesorului.

Ucideți un proces în partea de sus: presa k și scrieți ID-ul procesului pe care doriți să îl ucideți. Apoi tastați 15 sau 9 pentru a ucide normal sau imediat; de asemenea, puteți ucide un proces cu o comandă kill sau killall.

Renice un proces în partea de sus: presa r și scrieți PID-ul procesului pe care doriți să îl renunțați. Vă va cere să tastați PID-ul procesului și apoi valoarea nicing pe care doriți să o acordați acestui proces între -19 și 20 (-19 înseamnă cea mai mare importanță și 20 înseamnă cea mai mică importanță).

Listarea și gestionarea proceselor cu monitorul sistemului

Linux are un gnome de monitorizare a sistemului pentru a arăta procesele de rulare mai dinamic. Pentru a porni monitorul de sistem, apăsați tasta Windows și tastați monitorul de sistem, faceți clic pe pictograma acestuia și puteți vedea procesele în coloane. Făcând clic dreapta pe ele, puteți ucide, opri sau renice procesul.

Procesele de rulare sunt afișate cu conturi de utilizator în ordine alfabetică. Puteți sorta procesele după orice titlu de câmp, cum ar fi CPU, memorie etc., trebuie doar să faceți clic pe ele și vor fi sortate; de exemplu, faceți clic pe CPU pentru a vedea care proces consumă cea mai mare energie a procesorului. Pentru a gestiona procesele, faceți clic dreapta pe ele și selectați opțiunea pe care doriți să o faceți cu procesul. Pentru a gestiona procesul, selectați următoarele opțiuni.

Uciderea unui proces cu kill and killall

kill, iar comanda killall este utilizată pentru uciderea / încheierea unui proces de rulare. Aceste comenzi pot fi folosite și pentru trimiterea unui semnal valid către un proces în execuție, cum ar fi indicarea unui proces să continue, să termine sau să recitească fișierele de configurare etc. Semnalele pot fi scrise în ambele moduri prin numere sau după nume. Următoarele sunt câteva semnale utilizate în mod obișnuit.

Numărul semnalului Descriere

SIGHUP 1 Detectează semnalul de închidere pe terminalul de comandă.
SIGINT 2 Interpretat de la tastatură.
SIGQUIT 3 Ieșiți de pe tastatură.
SIGILL 4 Instrucțiuni ilegale.
SIGTRAP 5 Este utilizat pentru urmărirea unei trape.
SIGABRT 6 este utilizat pentru avortarea semnalului de la avort (3).
SIGKILL 9 Este utilizat pentru trimiterea unui semnal de ucidere.
SIGTERM 15 Este utilizat pentru trimiterea unui semnal de terminare.
SIGCONT 19,18,25 Este utilizat pentru a continua un proces dacă este oprit.
SIGSTOP 17,19,23 Este utilizat pentru oprirea proceselor.

Diferite valori ale SIGCONT și SIGSTOP sunt utilizate în diferite sisteme de operare Unix / Linux. Pentru informații detaliate despre semnalele de tip man 7 terminal de semnal.

Utilizarea comenzii kill pentru trimiterea semnalului la proces prin PID.

Rețineți procesul către care doriți să trimiteți un semnal de ucidere. Puteți găsi ID-ul procesului (PID) prin ps sau prin comanda de sus.

PID USER PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND
7780 jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 sus

Procesul de vârf consumă 33.3% din CPU. Dacă doriți să eliminați acest proces pentru a salva utilizarea procesorului, iată câteva modalități de a încheia acest proces cu comanda kill.

[e-mail protejat]: ~ $ kill 7780
[protejat prin e-mail]: ~ $ kill -15 7780 sau $ kill -SIGTERM 7780
[protejat prin e-mail]: ~ $ kill -9 7780 sau $ kill -SIGKILL 7780

Utilizarea comenzii killall pentru a trimite semnale către un proces după nume.

Cu comanda killall, nu trebuie să căutați ID-ul procesului; puteți trimite un semnal de ucidere unui proces după nume, mai degrabă decât prin ID-ul procesului. De asemenea, poate ucide mai multe procese decât vrei dacă nu ești atent, e.g., „Killall chrome” va ucide toate procesele de crom, inclusiv cele pe care nu doriți să le ucideți. Uneori este util să ucizi procese cu același nume.

La fel ca comanda kill, puteți tasta semnalele după nume sau după numărul din comanda killall. Omoară orice proces de rulare cu comanda killall; trebuie doar să îi tastați numele și semnalul pe care doriți să îl trimiteți. e.g., trimiteți un proces de semnal kill firefox folosind comanda killall, scrieți comanda de mai jos.

[e-mail protejat]: ~ $ killall -9 firefox

sau

[e-mail protejat]: ~ $ killall SIGKILL chrome

Schimbarea priorității procesului cu frumos și renice

Fiecare proces pe sistemul dvs. Linux are o valoare excelentă și este între -19 și 20. A decis ce proces va avea mai mult acces CPU în sistem. Cu cât valoarea frumosului este mai mică, cu atât un proces are mai mult acces la procesul CPU. Ca -16 valori frumoase au mai mult acces la CPU decât 18 valori frumoase. Numai un utilizator cu privilegii de root poate atribui o valoare negativă de nice. Un utilizator normal poate atribui valoarea „frumos” doar între 0 și 19. Un utilizator obișnuit poate atribui doar valori mai mari și pe propriile procese. Un utilizator root poate seta orice valoare frumoasă pentru orice proces.

Dacă doriți să oferiți un proces mai accesibil pentru utilizarea procesorului prin atribuirea valorii frumoase, tastați următoarea comandă.

[e-mail protejat]: ~ $ nice +3 crom

Și renice procesul

[e-mail protejat]: ~ $ renice -n -6 3612

Concluzie

Iată ghidul de gestionare a sistemului Linux cu ps, top, lsof, pstree, pkilll, kill, killall, nice, renice etc. Unele procese consumă cea mai mare parte a procesorului și a memoriei RAM; a ști cum să le gestionezi mărește viteza și performanța sistemului și îți oferă un mediu mai bun pentru a rula toate procesele pe care le dorești mai eficient.

Cum se mărește FPS în Linux?
FPS înseamnă Cadre pe secundă. Sarcina FPS este de a măsura rata de cadre în redările video sau în performanțele jocului. În cuvinte simple, numărul d...
Cele mai bune jocuri Oculus App Lab
Dacă sunteți proprietarul căștilor Oculus, atunci trebuie să fiți informați despre încărcarea laterală. Încărcarea laterală este procesul de instalare...
Top 10 jocuri de jucat pe Ubuntu
Platforma Windows a fost una dintre platformele dominante pentru jocuri din cauza procentului imens de jocuri care se dezvoltă astăzi pentru a sprijin...