Kako pregledati i pokrenuti pozadinske procese Linuxa

Izvođenje procesa od vitalnog je značaja u bilo kojem operativnom sustavu koji se koristi jer osigurava da i aplikacije i drugi elementi operacijskog sustava mogu djelovati na ispravan način i u kompatibilnosti i u izvršavanju svojih funkcija.

Svaki operacijski sustav može drugačije upravljati procesima, ali u slučaju Linuxa, u pravilu su procesi povezani s terminalom. To znači da mora biti otvoren kako bi proces mogao normalno funkcionirati, ali ova radnja može dovesti do situacija kao što su:

  • Otvoreni terminal može sadržavati puno izlaznih podataka ili poruka o pogrešci / dijagnostici što otežava ne samo čitanje podataka već i upravljanje njima.
  • Ako bismo zatvorili terminal, proces će zajedno s njegovim sekundarnim procesima završiti izravno utječući na zadatak koji treba izvršiti.

U ovoj vrsti scenarija bitno je izvršiti potrebne procese u pozadini, pozadinski proces je proces koji će se izvesti na skriven način i za njegov rad nije potrebna intervencija korisnika, na ovaj način, iako terminal je zatvoren glavni, proces će nastaviti izvršavati svoju zadaću. Pozadinski procesi primjenjuju se na one zadatke koji mogu potrajati, poput skripti, preuzimanja datoteka i drugih, gdje ne možemo čekati da se radnja dovrši, a da ništa ne učinimo.

U linuxu možemo izvoditi procese u prvom planu ili u pozadini. Program u prvom planu kada se izvrši na terminalu nećemo moći izvršiti nijednu drugu naredbu dok proces ne završi, ali to se može učiniti iz pozadine ili pozadine.

Program koji se pokreće u pozadini nakon pokretanja ne koristi terminal od trenutka pokretanja do kraja. Za izvršavanje softvera ili naredbe u pozadini s terminala dodajemo Ako dodamo ampersand (&) na kraju naredbe ili skripte koju želimo izvršiti, operacijski sustav izvršit će je u pozadini. Primjer:

 nano & 
Solvetic će objasniti kako možemo vidjeti i pokrenuti pozadinske procese na Linuxu.

1. Pogledajte popis procesa s naredbom ps u Linuxu


Naredbom ps naredba možemo znati status procesa. Ps je status procesa ili status procesa. Naredba ps ne navodi procese i navodi neke stupce PID, TTY, TIME i CMD.

PID (broj procesa)Svaki proces dobiva jedinstveni identifikacijski broj, koji mu dodjeljuje Linux kernel.

TTYje terminal povezan s procesom, može biti i drugi ulazni uređaj.

VRIJEMEVrijeme u kojem je proces trajao.

CMDTo je naziv naredbe koja se izvršava, bash je proces ljuske.

Na primjer, naredbom ps -A pokazat će nam se svi pokrenuti procesi.

2. Pokrenite pozadinski proces ili naredbu na Linuxu pomoću bg na Linuxu


Naredba bg razvijena je kao naredba za kontrolu posla koja nastavlja obustavljene poslove, ali ih izvodi u pozadini.

Korak 1
Osnovna sintaksa ove naredbe je sljedeća:

 bg [rad] 
Korak 2
U slučaju da je proces već pokrenut, moramo pritisnuti sljedeće tipke da bismo ga zaustavili, a zatim unijeti naredbu bg da nastavimo njegovo izvršavanje u pozadini kao posao. Za ovaj primjer koristit ćemo sljedeće retke:

Ctrl + Z

 tar -czf home.tar.gz. (pokrenuti proces koji će se zaustaviti pomoću Ctrl + Z) bg (izvršavanje naredbe u pozadini) poslovi (vizualizacija izvedenih poslova)

Korak 3
Možemo vidjeti da je proces još uvijek u tijeku, ali sada u pozadini. Također će biti moguće pokrenuti proces izravno u pozadini unosom znaka & na njegovom kraju:

 tar -czf home.tar.gz. & Poslovi 

3. Spremite pokrenute Linux procese nakon izlaska iz terminala u Linuxu


Ovo je bitna točka jer će, kao što smo spomenuli, u normalnom načinu rada kada je terminal zatvoren svi aktivni procesi završiti, tako da im je moguće dopustiti nastavak rada čak i kada je terminal zatvoren.

U tu svrhu možemo koristiti naredbu disown koja će se koristiti nakon što je proces započeo i stavljena u pozadinu, naredba desown je ljuska zadatak čija je misija ukloniti poslove s aktivnog popisa aktivne ljuske.

Korak 1
Izvođenjem odricanja, kada zatvorimo terminal, posao se neće srušiti niti poslati SIGHUP bilo kojem podređenom poslu. Njegova osnovna sintaksa je:

 odricanje od poslaID 
Korak 2
Za njegovo funkcioniranje izvršit ćemo sljedeće:
 sudo rsync Templates / * / var / www / html / files / & (naredba za izvršavanje) poslovi (aktivni poslovi) odricanje -h% 1 (naredba da se proces ne zatvori ili naredba) poslovi (prikaz poslova)

BilješkaU slučaju izvršavanja više od jednog procesa ili naredbe, možemo vidjeti da svaki od njih prima identifikacijski ID, koji se mora unijeti s odricanjem kako bi se navelo koji će se proces nastaviti izvoditi.

Korak 3
Opcije za korištenje s odricanjem su:

-doUklanja sve poslove ako nije naveden jobID.

-hOznačava svaki ID posla tako da se SIGHUP ne šalje na posao ako ljuska primi SIGHUP.

-rBriše samo tekuće poslove.

4. Spremite pokrenute Linux procese nakon izlaska iz terminala u Linuxu


Osnovni zadatak naredbe nohup je spriječiti automatsko poništavanje naredbe prilikom odjave ili izlaska iz ljuske. Kada koristite naredbu nohup (bez prekidanja veze), signal prekidanja veze (HUP), koji se šalje procesu kako bi ga obavijestio da se korisnik odjavio, presreće nohup kako bi se omogućio nastavak procesa u par sekundi.

Korak 1
Sintaksa upotrebe je sljedeća:

 naredba nohup [naredba-argument …] 
Korak 2
U ovom slučaju poslužit ćemo se sljedećim primjerom. Ako je standardni ulaz terminal, nohup ga preusmjerava s / dev / null. Stoga ulaz terminala nije moguć pri izvođenju naredbe s nohupom. U slučaju da je standardni izlaz terminal, izlaz naredbe dodaje se datoteci nohup.out ili $ HOME / nohup.out. Ako je standardna pogreška terminal, ona se preusmjerava na standardni izlaz. Da bismo spremili izlaz u datoteku, moramo koristiti "nohup naredba> datoteka".
 nohup tar -czf iso.tar.gz Predlošci / * & poslovi

5. Prekinite vezu s Linux procesom u terminalu

Korak 1
Ako je cilj potpuno odvojiti proces od terminala, trebali bismo koristiti sljedeću sintaksu:

 app / dev / null & 
Korak 2
Na primjer:
 firefox / dev / null & 

6. Koristite pozadinske procese sa zaslonom na Linuxu


U slučaju korištenja naredbe u pozadini, s opcijama nohup i &), izvršit će se i nakon zatvaranja sesije, problem je u tome što, kada se ponovno povežemo na istu sesiju, nećemo vidjeti aktivni posao u pozadini, da biste to ispravili, postoji naredba screen.

screen je upravitelj prozora na cijelom ekranu koji upravlja fizičkim terminalom između nekoliko procesa, obično su ljuske interaktivne. Svaki virtualni terminal nudi funkcije terminala DEC VT100 i, osim toga, nekoliko kontrolnih funkcija standarda ISO 6429 (ECMA 48, ANSI X3.64) i ISO 2022 što ga čini iznimno dinamičnim.

Kad pokrenemo zaslon, stvara se jedan prozor s ljuskom ili navedenom naredbom, a zatim se zaobilazi kako bi se program mogao normalno koristiti.

Korak 1
Za instaliranje zaslona u Linuxu izvršit ćemo sljedeće. Tamo unosimo slovo S za potvrdu preuzimanja i instalacije.

 sudo apt zaslon za instalaciju

Korak 2
Nakon instaliranja izvršavamo naredbu "screen" i vidjet ćemo sljedeće:

Korak 3
Tamo pritisnemo tipku Enter za preusmjeravanje u novi prozor gdje izvršavamo proces ili naredbu za upotrebu u pozadini:

 sudo tar czf temp.tar.gz / tmp & 

Korak 4
Moći ćemo vizualizirati aktivne prozore pomoću. Za izlaz iz ekranske sesije možemo koristiti tipke

Ctrl + a + d

Ctrl + alt + d

 zaslon -ls 

7. Zaustavite ili ukinite obustavljeni ili pozadinski proces na Linuxu


Za ovu radnju, koja se sastoji od završetka izvođenja procesa u pozadini, možemo upotrijebiti naredbu "kill" i umjesto PID -a možemo navesti identifikator posla, na primjer:
 poslovi (popis tekućih poslova) kill% 2 (ubiti ili prekinuti proces identificira kao 2)

8. Zaustavite proces ili odnesite proces u pozadinu


Za neke programe potrebno je dosta vremena da završe, a u međuvremenu ne rade ništa važno. Sastavljanje programa jedan je od tih zadataka, kao i komprimiranje velike datoteke. Nema smisla prestati koristiti računalo dok ti procesi završe i potroše resurse. U tim je slučajevima bolje pokrenuti ih u pozadini, ostaviti računalo u položaju za pokretanje drugog programa.

Procesi se mogu obustaviti. Obustavljeni proces je proces koji se trenutno ne izvodi, ali je privremeno zaustavljen. Nakon što obustavite zadatak, možete ga uputiti da nastavi, u prvom planu ili drugom, prema potrebi. Nastavak obustavljenog zadatka nimalo ne mijenja status zadatka jer će se nastaviti izvršavati tamo gdje je stao.

Korak 1
Za prekid procesa koristi se sljedeća kombinacija, pritiskom na ovu kombinaciju proces umire i oslobađaju se svi resursi.

Ctrl + C

Korak 2
Pokušajmo poslati naredbu koja se ponavlja u pozadinu. Naredba yes koristi se za testiranje skripte koja zahtijeva mnoge potvrde. Ono što radi je ponavljanje "i" sa svime što je napisano beskonačno sve dok se skripta ne zaustavi ili dok je korisnik ne zaustavi:

  • Utipkamo li "da" u terminal i vidjet ćemo beskonačan popis "i".
  • Ako u terminal unesemo yes hello, vidjet ćemo beskonačan popis hello

Korak 3
Za brisanje datoteke bez pritiskanja bilo koje tipke kada traži potvrdu koju možemo upotrijebiti

 da | rm -i * .txt 
Korak 4
Za slanje procesa u pozadinu zovemo ga iz naredbenog retka, a zatim & stvorimo beskonačne null uređaje
 da> / dev / null & 
Korak 5
Ovo će nam pokazati broj zadatka i pid [1] 4106. Ako sada upotrijebimo naredbu jobs, vidjet ćemo
 [1] + Izvršavanje da> / dev / null &
Korak 6
da bismo ga doveli u prvi plan, napišemo fg 1 i da ubijemo proces kill 4106 koji je pid.
 Fg 1 Ubij 4106
S bilo kojom od navedenih opcija, bit će moguće upravljati pozadinskim procesima u Linuxu na mnogo centralniji način i tako omogućiti izvršavanje potrebnih zadataka čak i kada je sesija zatvorena.

wave wave wave wave wave