Multitasking: háttérfolyamatok és előtérbeli folyamat

Multitasking operációs rendszerként a Linux számos folyamat - alapvetően programok vagy parancsok vagy hasonló feladatok - végrehajtását támogatja a háttérben, miközben az előtérben dolgozik.

Előzetes folyamatok

Az előtér-folyamat minden olyan parancs vagy feladat, amelyet közvetlenül futtat, és várja meg, hogy befejezze. Egyes előtérbeli folyamatok bizonyos típusú felhasználói felületet mutatnak, amely támogatja a folyamatos felhasználói interakciót, míg mások feladatot hajtanak végre és "fagyasztják" a számítógépet, mialatt befejezi ezt a feladatot.

A héjból az előtérben lévő folyamat a parancssorba történő begépeléssel kezdődik. Például az aktív könyvtárban található fájlok egyszerű felsorolásához írja be:

$ ls

Megjelenik a fájlok listája. Miközben a számítógép elkészíti és kinyomtatja a listát, a parancssorból nem tehet meg semmit.

Háttérfolyamat

Eltérően az előtérben lévő folyamatoktól, a shellnek nem kell várnia a háttérfolyamatok befejezésére, mielőtt több folyamatot futtathatna. A rendelkezésre álló memória mennyiségén belül számos háttértárat megadhat egymás után. Ahhoz, hogy parancsot futtasson háttérfolyamatként, írja be a parancsot, és adj hozzá egy szóközt és egy parancsot a parancs végére. Például:

$ command1 &

Ha parancsot ad ki a végső parancsokkal, akkor a shell végrehajtja a munkát, de ahelyett, hogy várakoznád a parancs befejezésére, azonnal visszaadod a parancsértelmezőhöz, és megjelenik a parancssor (% a C Shell, és $ a Bourne Shell és a Korn Shell) visszatér. Ezen a ponton megadhat egy másik parancsot vagy az előtérben vagy a háttérfolyamatban. A háttérben lévő feladatok az előtérben lévő feladatoknál alacsonyabb prioritásúak.

A képernyőn megjelenik egy üzenet, amikor a háttérfolyamat befejeződik.

A folyamatok közötti váltás

Ha egy előtérben lévő folyamat túl sok időt vesz igénybe, állítsa le a CTRL + Z billentyű lenyomásával. Megállt feladat még mindig létezik, de végrehajtása felfüggesztésre kerül. A feladat folytatásához, de a háttérben írja be a bg parancsot , hogy a megszakított feladatot háttérfuttatásra küldje.

Az előtérben lévő felfüggesztett folyamat folytatásához írja be az fg parancsot, és az eljárás átveszi az aktív munkamenetet.

Az összes felfüggesztett folyamat listájának megtekintéséhez használja a jobs parancsot, vagy használja a felső parancsot a leginkább CPU-intenzív feladatok listájának megjelenítéséhez, hogy felfüggesztheti vagy leállíthassa őket a rendszer erőforrásainak felszabadításával.

Shell versus GUI

A többfunkciós munka másként működik, attól függően, hogy a shell vagy a grafikus felhasználói felületen dolgozik-e. A shell-ből származó Linux csak egy aktív előtérbeli folyamatot támogat virtuális terminálonként. A felhasználó gyakorlati szempontból azonban egy ablakos környezet (pl. Asztali számítógéppel rendelkező Linux, nem szövegalapú héjból) számos olyan aktív ablakot támogat, amelyek hatékonyan több, egyidejű előtérben lévő folyamatokként szolgálnak. A gyakorlatban a Linux a színfalak mögött állítja be a folyamatok elsőbbségét egy GUI-ban, hogy elősegítse a rendszer stabilitását és támogassa a végfelhasználói feldolgozást.