Această pagină explică modul de gestionare a proceselor de rulare pe sistemul dvs. utilizând Webmin.
Introducere în procese
Fiecare program, proces sau comandă care rulează pe un sistem Linux este un proces. În orice moment, există zeci de procese care rulează pe sistemul dvs., unele pentru programele cu care interacționați grafic, unele pentru comenzile pe care le-ați început la un prompt de shell, altele pentru servere care rulează în fundal și altele care efectuează sarcini de sistem. De fiecare dată când tastați o comandă cum ar fi ls sau vi la promptul shell, se creează un nou proces, numai pentru a ieși imediat ce treaba sa este terminată.
Fiecare proces este identificat printr-un ID unic, cunoscut sub numele de PID sau ID de proces. Fiecare este deținut de un singur utilizator și este membru al mai multor grupuri, care determină privilegiile pe care le are procesul. Și fiecare are o prioritate (cunoscută și sub denumirea de nivel frumos), care controlează cât timp CPU poate consuma procesul pe un sistem ocupat. Aproape fiecare proces are un părinte, care este procesul care l-a început și de la care moștenește proprietatea, prioritatea și alte setări.
Un proces va rula până când alege să iasă sau până când este ucis de un semnal din alt proces.
Modulul Procese în curs de desfășurare
Acest modul poate fi utilizat pentru a vizualiza, distruge, prioritiza și rula procesele din sistemul dvs. Când îl introduceți pentru prima dată din categoria Sistem, pagina principală va afișa un arbore de procese așa cum se arată mai jos.
Modulul are mai multe moduri diferite de a vizualiza toate procesele din sistemul dvs., selectabile prin linkurile Afișare din partea de sus a paginii principale. Acestea sunt:
PID În acest mod de afișare, fiecare proces este afișat indentat sub părintele său, formând un arbore al tuturor proceselor care rulează pe sistemul dvs. În partea de sus a arborelui este comanda init, care este pornită de kernel la momentul pornirii și deci nu are părinte. Utilizator Acest mod grupează procesele după proprietarul lor. Poate fi util pe sistemele cu mulți utilizatori pentru a vedea dintr-o privire ceea ce rulează fiecare utilizator. Memorie În acest mod, procesele sunt ordonate în funcție de cantitatea de memorie pe care o consumă, iar cele care utilizează cea mai mare memorie sunt afișate în partea de sus a paginii. O utilizare a memoriei proceselor nu este întotdeauna indicativă a cantității de memorie pe care o folosește cu adevărat, deoarece procesele partajează adesea memoria între ele. În plus, cantitatea totală și gratuită de memorie reală și virtuală de pe sistemul dvs. este afișată deasupra listei de procese. CPU Acest mod de afișare comandă procesele în funcție de utilizarea curentă a procesorului, cel mai greu utilizator aparând primul. Uneori comanda Webmin care generează pagina va apărea în partea de sus a listei, dar poate fi ignorată în siguranță. Mediile de încărcare a sistemului vor fi afișate în partea de sus a paginii, pentru a oferi o idee despre cât de ocupat a fost sistemul în ultimele 1,5 și 10 minute. O medie de 0 înseamnă că nu există deloc activitate, 1 înseamnă că CPU este complet utilizat și orice peste 1 înseamnă că există mai multe procese care doresc să ruleze decât sistemul are timp pentru CPU.
Opțiunile Căutare și Executare sunt destinate căutării proceselor și, respectiv, rularea altora noi. Consultați secțiunile de mai jos pentru mai multe detalii.
Vizualizarea, uciderea sau prioritizarea din nou a unui proces
Puteți vedea detaliile complete ale oricărui proces în desfășurare făcând clic pe intrarea coloanei acestuia în ID-ul procesului în oricare dintre afișajele de pe pagina principală . Aceasta vă va duce la pagina cu informații despre proces, afișată în această captură de ecran.
Pagina afișează toate informațiile disponibile despre proces, inclusiv linia sa de comandă completă, comanda părinte și orice subprocese. Puteți accesa pagina de informații pentru părinte făcând clic pe comanda sa sau pe pagina din oricare dintre subprocese, făcând clic pe ID-ul procesului. O listă de fișiere pe care procesul le are deschise și conexiuni de rețea pe care le folosește în prezent poate fi vizualizată făcând clic pe butonul Fișiere și conexiuni.
Procesul se poate opri folosind un semnal TERM făcând clic pe butonul Terminare proces. Deoarece acest lucru poate fi ignorat de unele comenzi, butonul Kill Process poate fi utilizat pentru a trimite un semnal KILL dacă terminarea eșuează. Cu excepția cazului în care procesul este suspendat într-un apel de sistem de nucleu, uciderea este garantată pentru a avea succes.
Alte semnale pot fi trimise selectând tipul de semnal de lângă butonul Trimite semnal înainte de a-l apăsa. Unele dintre cele mai utile semnale sunt:
HUP Pentru multe procese de server, acest semnal le va face să recitească fișierele de configurare. STOP Suspendă procesul până când se primește un semnal CONT. CONT Reia un proces care a fost suspendat de un semnal STOP.
Pagina cu informații poate fi, de asemenea, utilizată pentru a schimba nivelul frumos al unui proces în desfășurare, acordându-i o prioritate mai mare sau mai mică.Pentru a modifica prioritatea proceselor, selectați un nivel nou din lista * Nivel frumos *, apoi faceți clic pe butonul Modificare. Nivelurile inferioare înseamnă priorități mai mari, astfel încât un proces cu un nivel frumos de 10 va obține mai mult timp CPU decât unul cu nivelul 5.
Pe un sistem cu mai mulți utilizatori, procese de lungă durată care ocupă o mulțime de Timpul CPU ar trebui să aibă un nivel mai ridicat, astfel încât să nu încetinească procesele care interacționează cu utilizatorii. Alternativ, puteți accelera un proces în detrimentul celorlalți, oferindu-i un nivel mai mic. Ar trebui să aveți grijă atunci când setați un nivel extrem de scăzut (cum ar fi 20), deoarece toate celelalte procese pot deveni lipsite de timp CPU, ceea ce face sistemul să nu mai răspundă.
Căutarea proceselor
Dacă aveți un număr mare de procese care rulează pe sistemul dvs. și doriți să găsiți unul sau mai multe pentru a le ucide sau a le vizualiza, funcția de căutare a modulului Procesul de rulare face este ușor. Pentru a găsi procese, urmați acești pași:
- Pe pagina principală a modulului, faceți clic pe linkul Căutare mod afișare. Aceasta vă va duce la un formular de căutare așa cum se arată în captura de ecran mai jos.
- Formularul prezintă mai multe criterii diferite pentru găsirea proceselor, dintre care puteți alege unul selectând butonul radio de lângă acesta. Criteriile sunt: Deținute de Procese deținute de utilizatorul al cărui nume îl introduceți în continuare la această opțiune va fi găsit. # * Potrivire Găsește procese a căror comandă sau argumente conține textul pe care îl introduceți lângă această opțiune. Folosind mai mult decât Găsește procese folosind mai mult decât procentul specificat de timp CPU. Utilizarea sistemului de fișiere Procese al căror director curent este activat sistemul de fișiere ales sau accesează orice fișier de pe acesta va fi găsit. Util dacă puteți nu dezinstalați un sistem de fișiere deoarece este ocupat. Utilizarea fișierului Găsește procese care au fișierul introdus deschis pentru citire sau scriere. Dacă introduceți un director, va fi găsit orice proces care îl are ca director curent. Utilizarea portului Găsește procese care trimit, primesc sau ascultă traficul de rețea pe portul introdus folosind protocolul ales. Util dacă știți numărul de port pe care îl ascultă un server și doriți să găsiți procesul serverului. Utilizarea adresei Găsește procese care au o conexiune de rețea deschisă la adresa introdusă sau care ascultă pe acea adresă dacă este pentru o interfață din sistemul dvs.
- Pentru a filtra procesele de căutare Webmin din rezultate, selectați opțiunea Ignorați procesele de căutare în rezultat. Acest lucru poate fi util atunci când căutați în funcție de utilizarea procesorului, deoarece procesele Webmin consumă mult timp în procesor.
- După ce ați selectat criteriile de căutare, faceți clic pe butonul Căutare. Orice proces de potrivire va fi afișat sub formular.
- Dacă doriți să vedeți informații suplimentare despre un proces, să îi modificați prioritatea sau să îi trimiteți singur un semnal, faceți clic pe ID-ul procesului în rezultate.
- Pentru a elimina toate procesele de potrivire, faceți clic pe butonul Terminați procesele sau ucideți procesele. De asemenea, puteți trimite orice semnal către toate procesele selectându-l din lista de lângă butonul * Trimite semnal *. Va fi afișată o pagină cu fiecare ID de proces și dacă a fost semnalat sau ucis cu succes.
Rularea unui proces
Modulul poate fi folosit și pentru a rula comenzi simple, fie în prim-plan, astfel încât ieșirea lor să fie afișată, fie în fundal ca demoni. Acest lucru poate fi util dacă doriți doar să executați o comandă fără a fi nevoie să vă autentificați prin telnet sau SSH (sau dacă un firewall împiedică conectarea telnet sau SSH). Pașii care trebuie urmați sunt:
- Pe pagina principală a modulului, faceți clic pe linkul Executare de lângă opțiunile modului de afișare. Aceasta vă va duce la formularul pentru a începe un nou proces.
- Introduceți comanda pe care doriți să o rulați în câmpul * Comandă pentru a rula *. Operatori de shell și caractere speciale precum;, & lt, > și & & poate fi utilizat.
- În cazul în care comanda este ceva care va dura mult timp pentru a rula, puteți seta opțiunea Run mode la Rulare în fundal pentru ca Webmin să o plaseze automat în fundal. Cu toate acestea, dacă doriți să vedeți rezultatul din comandă, lăsați opțiunea setată la Așteptați până la finalizare.
- Introduceți orice intrare pe care doriți să o alimentați în comandă în câmpul * Intrare la comandă *.
- Faceți clic pe butonul Executare pentru al rula. Dacă opțiunea Așteptați până când a fost selectată, va fi afișată orice ieșire din comandă.
Comanda Run
Opțiuni de control acces la modul
În mod implicit, orice utilizator Webmin cu acces la acest modul poate gestiona toate procesele care rulează pe sistem, ca și cum ar fi fost conectat ca root. Cu toate acestea, folosind modulul Utilizatori și grupuri, puteți limita accesul unui utilizator, astfel încât acesta să poată distruge sau reîmprospăta doar procesele deținute de un anumit utilizator Unix.De asemenea, este posibil să restrângeți un utilizator la modul de citire numai, permițându-i să vadă doar procesele, fără a le schimba în vreun fel sau a începe unele noi.
Ar trebui să citiți mai întâi capitolul 52 pentru a afla mai multe despre controlul accesului modulului și despre cum să acordați utilizatorului acces la modulul Procese de rulare. Odată ce ați făcut acest lucru, pentru a edita accesul unui utilizator Webmin la acest modul, pașii care trebuie urmați sunt:
- În modulul Utilizatori Webmin, faceți clic pe Procese de rulare lângă numele utilizatorului sau grup pe care doriți să îl restricționați.
- Schimbați câmpul Poate edita configurația modulului? la No.
- Pentru a oferi utilizatorului Webmin acces doar acelor procese deținute de un anumit utilizator Unix, introduceți numele de utilizator în câmpul * Gestionați procesele ca utilizator *. Dacă utilizatorii Unix și Webmin au același nume, puteți selecta în schimb Utilizator curent Webmin. Acest lucru poate fi util atunci când configurați controlul accesului modulului pentru un grup în care doriți fiecare membru să poată gestiona doar propriile procese.
- Pentru a pune utilizatorul în modul de citire numai, setați câmpurile * Poate distruge și renica procesele? * și Poate rula comenzile? * la * Nu. Dacă acest lucru este făcut, nu contează cu adevărat ce nume de utilizator introduceți în pasul 7, deoarece nu se poate face nici o gestionare a proceselor.
- Faceți clic pe butonul Salvare pentru ca modificările dvs. să fie activate.
Pentru a restricționa procesele pe care un utilizator Webmin le poate gestiona, codul modulului pur și simplu comută să ruleze conform utilizatorului Unix specificat în pasul 4. Deoarece un utilizator Unix nu poate ucide sau prioritiza orice proces pe care nu îl deține, schimbarea utilizatorului astfel face ca sistemul de operare să impună automat controlul accesului la proces pentru Webmin.
Alte sisteme de operare
Deoarece procesele există pe toate versiunile Unix cu aproape atribute identice, acest modul apare aproape exact la fel pe toate sistemele de operare acceptate.
Când vizualizați informații detaliate despre un proces, informații diferite pot fi disponibile pe alte sisteme de operare. Gama de niveluri frumoase poate fi, de asemenea, diferită, dar nivelurile mai mici înseamnă în continuare o prioritate mai mare și invers.
Când căutați un proces, este posibil ca criteriile Utilizarea sistemului de fișiere, Utilizarea fișierului sau Utilizarea portului să nu fie disponibile. Aceste opțiuni depind de comenzile fuzor și lsof care nu sunt disponibile sau instalate implicit pe toate sistemele.