Multitasking: Process Background and Foreground Process

Kao multitasking operativni sistem, Linux podržava izvršavanje mnogih procesa - u osnovi, programa ili naredbi ili sličnih zadataka - u pozadini dok nastavite da radite u prvom planu.

Foreground Processes

Proces u prvom planu je svaka komanda ili zadatak koji pokrećete direktno i čekate da se to završi. Neki procesi u prvom planu pokazuju neku vrstu korisničkog interfejsa koji podržava trenutnu interakciju korisnika, dok drugi izvršavaju zadatak i "zamrzavaju" računar dok završava taj zadatak.

Iz ljuske, postupak u prvom planu počinje ukucavanjem komande na poziv. Na primer, da biste videli jednostavno unos datoteka u aktivnom direktorijumu, ukucajte:

$ ls

Videćete spisak fajlova. Dok računar priprema i štampa tu listu, u komandnoj liniji ne možete učiniti ništa drugo.

Proces pozadine

Za razliku od procesa u prvom planu, shell ne mora da čeka da se proces pozadine završi pre nego što može da pokrene više procesa. U granicama količine raspoložive memorije, možete unositi mnoge pozadinske komande jedan za drugim. Da biste pokrenuli komandu kao pozadinski proces, upišite komandu i dodajte razmak i ampersand do kraja komande. Na primjer:

$ command1 &

Kada izdate naredbu sa završnim ampersandom, shell će izvršiti rad, ali umesto da čekate da komanda završi, odmah ćete biti vraćeni u shell, a videćete i šaltersku poruku (% za C Shell i $ za Bourne Shell i Korn Shell). U ovom trenutku možete uneti drugu komandu za prethodni ili pozadinski proces. Pozadinski radovi se pokreću sa nižim prioritetom u prvom planu poslova.

Na ekranu ćete videti poruku kada se pozadinski proces završi.

Prelazak između procesa

Ako proces u prvom planu zauzima previše vremena, zaustavite ga pritiskom na CTRL + Z. Zaustavljen posao i dalje postoji, ali njegovo izvršenje je prekinuto. Da biste nastavili posao, ali u pozadini, otkucajte bg da biste poslali prekinut posao na pozadinsko izvršenje.

Da biste nastavili suspendovan proces u prvom planu, upišite fg i taj proces će preuzeti aktivnu sesiju.

Da biste videli listu svih suspendovanih procesa, koristite komandu jobs ili koristite gornji komandu da biste prikazali listu najviše intenzivnih zadataka za CPU, kako biste mogli da ih suspendirate ili zaustavite da oslobodite sistemske resurse.

Shell vs. GUI

Multitasking radi drugačije u zavisnosti od toga da li radite iz shell ili grafički korisnički interfejs . Linux iz shell-a podržava samo jedan aktivan proces foreground-a na virtuelnom terminalu. Međutim, iz praktične perspektive korisnika, okruženo okruženje (npr. Linux sa desktopom, a ne iz tekstualnog shell-a) podržava nekoliko aktivnih prozora koji efikasno služe kao višestruki simultani procesi u prvom planu. U praksi, Linux iza scene prilagođava prioritet procesa u GUI-u kako bi promovisao stabilnost sistema i podržao obradu krajnjih korisnika.