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.
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.Tmux
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ű.