Proces Linuxa v ozadju in ospredju

Kot večopravilni operacijski sistem, Linux podpira izvajanje številnih procesov – v bistvu programov ali ukazov ali podobnih nalog – v ozadju, medtem ko vi še naprej delate v ospredju.

Procesi v ospredju

A proces v ospredju je kateri koli ukaz ali opravilo, ki ga zaženete neposredno in počakate, da se zaključi. Nekateri procesi v ospredju prikazujejo neko vrsto uporabniškega vmesnika, ki podpira stalno interakcijo z uporabnikom, medtem ko drugi izvajajo nalogo in "zamrznejo" računalnik, medtem ko to nalogo dokonča.

Iz lupine se proces v ospredju začne tako, da v poziv vnesete ukaz. Če si želite na primer ogledati preprost seznam datotek v aktivnem imeniku, vnesite:

ls. 

Videli boste seznam datotek. Medtem ko računalnik pripravlja in tiska ta seznam, iz ukaznega poziva ne morete storiti ničesar drugega. Ko se seznam datotek natisne v standardni izhod, ponovno pridobite dostop do ukaznega ukaza.

Postopek v ozadju

Za razliko od postopka v ospredju, lupina ni treba čakati na a proces v ozadju

končati, preden lahko izvaja več procesov. V okviru razpoložljive količine pomnilnika lahko enega za drugim vnesete veliko ukazov v ozadju. Če želite zagnati ukaz kot proces v ozadju, vnesite ukaz in na konec ukaza dodajte presledek in ampersand. Na primer:

ukaz1 &

Ko izdate ukaz s sklepnim znakom ampersanda, lupina izvede delo, a namesto da bi čakali, da se ukaz zaključi, boste takoj vrnjeni v lupino. Na tej točki lahko vnesete drug ukaz za proces v ospredju ali ozadju. Opravila v ozadju se izvajajo z nižjo prioriteto kot opravila v ospredju.

Ko se postopek v ozadju konča, boste na zaslonu videli sporočilo.

Preklapljanje med procesi

linux top ukaz

Če postopek v ospredju traja preveč časa, ga ustavite s pritiskom na Ctrl+Z. Ustavljeno opravilo še vedno obstaja, vendar je njegovo izvajanje prekinjeno. Če želite nadaljevati delo, vendar v ozadju, vnesite bg za pošiljanje ustavljenega opravila v izvajanje v ozadju.

Če želite nadaljevati začasno ustavljen proces v ospredju, vnesite fg in ta proces bo prevzel aktivno sejo.

Če si želite ogledati seznam vseh zaustavljenih procesov, uporabite službe ukaz ali uporabite vrh ukaz za prikaz seznama nalog, ki najbolj zahtevajo CPU, tako da jih lahko začasno prekinete ali ustavite, da sprostite sistemske vire. Če želite spremeniti prioriteto izvajanja procesa, uporabite lepo in renice.

Shell vs. GUI

Večopravilnost deluje drugače, odvisno od tega, ali delate lupino ali grafični uporabniški vmesnik. Linux iz lupine podpira samo en aktivni proces v ospredju na virtualni terminal. Vendar pa je s praktičnega vidika uporabnika okensko okolje (npr. Linux z namizjem, ne iz besedilna lupina) podpira več aktivnih oken, ki učinkovito služijo kot več hkratnih ospredja procesov. V praksi Linux v zakulisju prilagaja prioriteto procesov v GUI, da spodbuja stabilnost sistema in podpira obdelavo končnih uporabnikov.