Fizetési módok Abuse

Linux háttérfolyamatban történő munkavégzés

27.01.2023, 23:58

Elmondtuk, hogy mi a Linux háttérfolyamat, és hogyan kell helyesen elindítani. Ebben a cikkben elmondjuk, hogyan működik ebben a módban.

Hogyan működik egy háttérfolyamat

Egy szkript futtatása Linuxban egy feladat, gondoskodni kell arról, hogy a terminál bezárása után azonnal megfelelően működjön. A terminál bezárása a következő módon történik: a képernyő felső sarkában található keresztre kell kattintani, ez az összes háttérfolyamat befejezéséhez vezet. Több módszer is létezik a mentésre arra az esetre, ha az interaktív shell-lel való kapcsolat megszakadna

Első: a feladat sorból a disown segítségével távolítsa el a feladatot:

disown

Az előző esetekhez hasonlóan, ha több folyamat fut párhuzamosan, meg kell adni annak a folyamatnak a számát, amelyikhez képest a művelet végrehajtásra kerül:

disown %1

Győződjön meg róla, hogy a feladat nem szerepel a feladatlistában. Hogyan kell ezt megtenni? Használja a jobs -l segédprogramot. A futó folyamatok teljes listájának megtekintéséhez a parancsot használja:

ps aux

Következő módszer: A futó folyamatokat a nohup paranccsal menti el. Ez a parancs végrehajtása után viszont egy másik parancsot hajt végre, minden SIGHUP jelzést figyelmen kívül hagy.

A parancsot a háttérben így futtathatja:

nohup command &

Ahogy a fenti képen látható, a parancs kimenete a nohup.out fájlba kerül. A legfontosabb, hogy a kijelentkezés és a terminál bezárása után a folyamat tovább fog működni. Vannak olyan segédprogramok, amelyek lehetővé teszik két vagy több munkamenet egyidejű futtatását. Különösen a Screen és a Tmux teszi ezt lehetővé.

  • A Screen vagy GNU Screen egy terminálmultiplexer, amely lehetővé teszi, hogy egy munkamenetet indítson, és azon belül tetszőleges számú ablakot (virtuális terminált) nyisson. Az ebben a programban futó folyamatok akkor is futnak, ha az ablakuk láthatatlan, vagy a program leállt.
  • ATmux a GNU Screen modernebb alternatívája. A Tmux funkciói azonban alapvetően nem különböznek - ugyanúgy sok ablakot nyithatunk meg egyetlen munkameneten belül. A Tmuxban futó feladatok akkor is tovább futnak, ha a terminált bezárjuk.

Ezt a problémát megoldottuk, mint láthatja, minden elemi és egyszerű.