Multitasking: eftergrûnproses en foargrûnproses

As multyfunksjoneel bestjoersysteem stipe Linux de útfiering fan in soad prosessen - yn haadsaak, programma's of kommando's of ferlykbere taken - yn 'e eftergrûn wylst jo fierder wurkje yn' e foargrûn.

Foargrûnprosessen

In foargrûnproses is elk kommando of taak dat jo direkt rinne en wachtsje op it foltôgjen. Guon foargrûnprosessen sjogge wat type fan brûkersynterface dy't stipe trochgeande brûkers ynteraksje, wylst oaren in opjefte útfiere en de kompjûter frije, wylst dy taak foltôge.

Fanút de shell begjint in foargrûnproses troch te typen in kommando by de prompt. As jo ​​bygelyks in ienfâldige opslach fan 'e bestannen yn' e aktive triemtype sjen kinne, type:

$ ls

Jo sille de list fan bestannen sjen. Wylst de kompjûter dizze list opwurdearret en drukke, kinst neat oars dwaan fan de kommando prompt.

Eftergrûnproses

Oars as mei in foargrûnproses, moat de shell net wachtsje op in eftergrûnproses om te fieren foardat it mear prosessen wurkje kin. Binnen de limyt fan it beskikbere oantinkens kinne jo in soad eftergrûn befetsje nei-inoar. Om in kommando as eftergrûnproses út te fieren, typ it kommando en set in romte en in ampersand oan it ein fan it kommando. Bygelyks:

$ command1 &

As jo ​​in kommando útfiere mei de ôfslutende ampersand, sil de shell it wurk útfiere, mar ynstee fan it wiskjen fan it kommando om te fertellen, sille jo fuortendaliks weromjûn wurde nei de shell, en jo sille de shell-prompt sjen (% foar de C Shell, en $ foar de Bourne Shell en de Korn Shell) werom. Op dit punt kinne jo in oare kommando ynfiere foar sawol foargrûn of eftergrûnproses. Eftergrûnopsjes wurde op in legere prioriteit rinne op de foargrûn-banen.

Jo sille in berjocht sjen op it skerm wannear't in eftergrûnproses ôfsluten wurdt.

Ferbetterjen tusken prosessen

As in foargrûnproses te folle tiid nimt, stopje it troch CTRL + Z te drukken. In stopje wurk is noch bestiet, mar syn útfiering is útsette. Om de baak opnij te meitsjen, mar op 'e eftergrûn, type bg om de stopele taak te stjoeren nei eftergrûnútfiering.

Om in ferhurde proses op 'e foargrûn opnij te meitsjen, type fg en dat proses sil de aktive sesje nimme.

Om in list te meitsjen fan alle ûnderbrekkingsprosessen, brûke jo de kommandoopsjes, of it topkommando brûke om in list te meitsjen fan 'e meast CPU-yntinsive taken, sadat jo kinne opstarten of ophâlde om systemressaren te ferlitten.

Shell tsjin GUI

Multitasking wurket oars as ôfhinklik fan oft jo wurkje fan ' e shell of in grafyske brûkersynterface . Linux fan 'e shell stipet mar ien aktyf foargrûnproses per virtual terminal. Fanút it praktyske perspektyf fan 'e brûker kin in wjerrende omjouwing (bgl. Linux mei in buroblêd, net fan in tekstbasearre shell) stipe ferskate aktive finsters dy't effektyf as meardere simultane-foargrûnprosessen dienen. Yn 'e praktyk befettet Linux efter de skermen de prioriteit fan prosessen yn in GUI om de stabilisaasje fan stipe te befoarderjen en oan te wurkjen fan end-user-ferwurking.