Cum să vizualizați și să rulați procesele de fundal Linux

Executarea proceselor este vitală în orice sistem de operare utilizat, deoarece asigură că atât aplicațiile, cât și alte elemente ale sistemului de operare pot acționa în mod corect atât în ​​compatibilitate, cât și în executarea funcțiilor lor.

Fiecare sistem de operare poate gestiona procesele diferit, dar în cazul Linux, de regulă, procesele sunt asociate cu un terminal. Aceasta înseamnă că trebuie să fie deschis, astfel încât procesul să poată funcționa normal, dar această acțiune poate duce la situații precum:

  • Terminalul deschis poate conține o mulțime de date de ieșire sau mesaje de eroare / diagnostic, ceea ce face dificilă nu numai citirea datelor, ci și gestionarea acestora.
  • Dacă ar fi să închidem terminalul, procesul împreună cu procesele sale secundare se vor încheia direct afectând sarcina care urmează să fie efectuată.

În acest tip de scenariu, este esențial să executați procesele necesare în fundal, un proces de fundal este procesul care va fi executat într-un mod ascuns și pentru funcționarea acestuia nu este necesară intervenția utilizatorului, în acest mod, deși terminalul este închis principal, procesul va continua executarea sarcinii sale. Procesele de fundal se aplică acelor sarcini care pot dura, cum ar fi scripturile, descărcarea fișierelor și altele, în care nu putem aștepta finalizarea acțiunii fără a face nimic.

În linux putem executa procese în prim-plan sau în fundal. Un program în prim plan atunci când este executat în terminal, nu vom putea executa nicio altă comandă până la terminarea procesului, dar se poate face din fundal sau din fundal.

Un program care rulează în fundal odată pornit nu folosește terminalul din momentul în care a fost rulat până la final. Pentru a executa un software sau o comandă în fundal de la terminal adăugăm Dacă adăugăm un ampersand (&) la sfârșitul comenzii sau scriptului pe care dorim să îl executăm, acesta va fi executat în fundal de către sistemul de operare. Exemplu:

 nano & 
Solvetic va explica cum putem vedea și rula procesele de fundal pe Linux.

1. Vedeți lista proceselor cu comanda ps în Linux


Cu comanda ps comanda, putem cunoaște starea unui proces. Ps este starea procesului sau starea procesului. Comanda ps nu listează procesele și specifică unele coloane PID, TTY, TIME și CMD.

PID (Număr proces)Fiecare proces primește un număr unic de identificare, care este atribuit de kernel-ul Linux.

TTYeste terminalul asociat procesului, poate fi și un alt dispozitiv de intrare.

TIMPTimpul în care rulează procesul.

CMDEste numele comenzii care se execută, bash este procesul shell.

De exemplu, cu comanda ps -A ne va arăta toate procesele care rulează.

2. Porniți un proces de fundal sau comanda pe Linux folosind bg pe Linux


Comanda bg a fost dezvoltată ca o comandă de control al jobului care reia lucrările suspendate, dar le rulează în fundal.

Pasul 1
Sintaxa de bază a acestei comenzi este următoarea:

 bg [lucru] 
Pasul 2
În cazul în care un proces rulează deja, trebuie să apăsăm următoarele taste pentru a-l opri și apoi să introducem comanda bg pentru a continua executarea acestuia în fundal ca o lucrare. Pentru acest exemplu vom folosi următoarele linii:

Ctrl + Z

 tar -czf home.tar.gz. (proces de rulare care va fi oprit cu Ctrl + Z) bg (executarea comenzii în fundal) joburi (vizualizarea joburilor efectuate)

Pasul 3
Putem vedea că procesul este încă în desfășurare, dar acum în fundal. De asemenea, va fi posibil să rulați un proces direct în fundal, introducând semnul de semn la sfârșitul acestuia:

 tar -czf home.tar.gz. & Locuri de munca 

3. Salvați procesele Linux care rulează după ce ați ieșit din terminal în Linux


Acesta este un punct esențial, deoarece, așa cum am menționat, în modul normal, când terminalul este închis, toate procesele active se vor încheia, astfel încât este posibil să le permiteți să continue să ruleze chiar și atunci când terminalul este închis.

În acest scop putem folosi comanda de respingere care va fi utilizată după ce un proces a început și a fost plasată în fundal, comanda de respingere este o lucrare shell care are ca misiune eliminarea lucrărilor din lista activă a Shell-ului activ.

Pasul 1
Odată cu executarea dezactivării, atunci când închidem terminalul, jobul nu se va bloca sau nu va trimite un SIGHUP către niciun job copil. Sintaxa sa de bază este:

 renunță la jobID 
Pasul 2
Pentru funcționarea sa vom executa următoarele:
 sudo rsync Templates / * / var / www / html / files / & (comanda pentru a executa) joburi (joburi active) disown -h% 1 (ordinea de a nu închide procesul sau comanda) joburi (afișarea joburilor)

NotăÎn cazul executării mai multor procese sau comenzi, putem vedea că fiecare dintre ele primește un ID de identificare, acesta trebuie introdus cu respingere pentru a specifica ce proces va continua să ruleze.

Pasul 3
Opțiunile de utilizat cu respingere sunt:

-laElimină toate joburile dacă ID-ul jobului nu este furnizat.

-hMarcează fiecare ID de job astfel încât SIGHUP să nu fie trimis la job dacă shell-ul primește un SIGHUP.

-rȘterge numai joburile care rulează.

4. Salvați procesele Linux care rulează după ce ați ieșit din terminal în Linux


Sarcina de bază a comenzii nohup este de a împiedica anularea automată a comenzii la deconectarea sau ieșirea din shell. Atunci când se utilizează comanda nohup (no hangup), semnalul de închidere (HUP), care este trimis unui proces pentru a-l informa că utilizatorul s-a deconectat, este interceptat de nohup pentru a permite procesului să ruleze în câteva secunde.

Pasul 1
Sintaxa de utilizare este după cum urmează:

 comanda nohup [comanda-argument …] 
Pasul 2
Pentru acest caz vom folosi următorul exemplu. Dacă intrarea standard este un terminal, nohup îl redirecționează din / dev / null. Prin urmare, intrarea terminalului nu este posibilă atunci când executați o comandă cu nohup. În cazul în care ieșirea standard este un terminal, ieșirea comenzii este adăugată la fișierul nohup.out sau $ HOME / nohup.out. Dacă eroarea standard este un terminal, este redirecționată către ieșirea standard. Pentru a salva ieșirea într-un fișier, trebuie să folosim „comanda nohup> fișier”.
 nohup tar -czf iso.tar.gz Șabloane / * și joburi

5. Deconectați un proces Linux în terminal

Pasul 1
Dacă scopul este de a separa complet un proces de terminal, ar trebui să folosim următoarea sintaxă:

 app / dev / null & 
Pasul 2
De exemplu:
 firefox / dev / null & 

6. Utilizați procesele de fundal cu Screen on Linux


În cazul utilizării unei comenzi în fundal, cu opțiunile nohup și &), aceasta va fi executată chiar și după închiderea sesiunii, problema este că, atunci când ne reconectăm din nou la aceeași sesiune, nu vom vedea jobul activ în fundalul, pentru a corecta acest lucru, există comanda ecranului.

ecranul este un manager de ferestre cu ecran complet care gestionează un terminal fizic între mai multe procese, în mod normal shell-urile sunt interactive. Fiecare terminal virtual oferă funcțiile unui terminal DEC VT100 și, în plus, mai multe funcții de control ale standardelor ISO 6429 (ECMA 48, ANSI X3.64) și ISO 2022, care îl fac extrem de dinamic.

Când rulăm ecranul, se creează o singură fereastră cu un shell sau comanda specificată și apoi este ocolită pentru a putea folosi programul în mod normal.

Pasul 1
Pentru a instala ecranul în Linux vom executa următoarele. Acolo introducem litera S pentru a confirma descărcarea și instalarea.

 ecranul de instalare sudo apt

Pasul 2
Odată instalat executăm comanda „ecran” și vom vedea următoarele:

Pasul 3
Acolo apăsăm tasta Enter pentru a fi redirecționat către noua fereastră unde executăm procesul sau comanda de utilizat în fundal:

 sudo tar czf temp.tar.gz / tmp & 

Pasul 4
Vom putea vizualiza ferestrele active folosind. Pentru a ieși din sesiunea de ecran putem folosi tastele

Ctrl + a + d

Ctrl + alt + d

 ecran -ls 

7. Opriți sau ucideți un proces suspendat sau în fundal pe Linux


Pentru această acțiune, care constă în încheierea execuției procesului în fundal, putem folosi comanda „kill” și în loc de PID putem specifica identificatorul jobului, de exemplu:
 joburi (listează joburile curente) ucide% 2 (ucide sau termină procesul identificat ca 2)

8. Opriți un proces sau duceți un proces în fundal


Unele programe necesită mult timp pentru a finaliza și între timp nu fac nimic important. Compilarea programelor este una dintre aceste sarcini, la fel și comprimarea unui fișier mare. Nu are rost să nu mai folosiți computerul în timp ce aceste procese finalizează și consumă resurse. În aceste cazuri este mai bine să le rulați în fundal, să lăsați computerul în poziția de a rula un alt program.

Procesele pot fi suspendate. Un proces suspendat este unul care nu se execută în prezent, dar este oprit temporar. După suspendarea unei sarcini, puteți instrui sarcina să continue, în prim-plan sau în al doilea rând, după cum este necesar. Reluarea unei sarcini suspendate nu schimbă deloc starea sarcinii, deoarece va continua să se execute chiar acolo unde a rămas.

Pasul 1
Pentru a întrerupe un proces, se utilizează următoarea combinație, la apăsarea acestei combinații procesul moare și toate resursele sunt eliberate.

Ctrl + C

Pasul 2
Să încercăm să trimitem o comandă repetată pe fundal. Comanda yes este utilizată pentru a testa scriptul care necesită multe confirmări. Ceea ce face este să repetați „și” cu orice este scris în fața lui infinit până când scriptul este oprit sau utilizatorul îl oprește:

  • Dacă tastăm „da” în terminal și vom vedea o listă nesfârșită de „și”.
  • Dacă tastăm yes hello în terminal și vom vedea o listă nesfârșită de hello

Pasul 3
Pentru a șterge un fișier fără a apăsa nicio tastă atunci când solicită confirmarea pe care o putem folosi

 da | rm -i * .txt 
Pasul 4
Pentru a trimite un proces în fundal, îl numim din linia de comandă urmat de & creați dispozitive nule infinite
 da> / dev / null & 
Pasul 5
Aceasta ne va arăta numărul sarcinii și pid [1] 4106. Dacă vom folosi acum comanda joburi, vom vedea
 [1] + Se execută yes> / dev / null &
Pasul 6
pentru a-l aduce în prim-plan scriem fg 1 și pentru a ucide procesul ucide 4106 care este pid.
 Fg 1 ucide 4106
Cu oricare dintre opțiunile indicate, va fi posibil să gestionați procesele de fundal în Linux într-un mod mult mai central și astfel să permiteți executarea sarcinilor necesare chiar și atunci când sesiunea este închisă.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave