Povedali sme vám, čo je proces na pozadí systému Linux a ako ho správne spustiť. V tomto článku vám povieme, ako funguje v tomto režime.
Spustenie skriptu v Linuxe je jedna úloha, musíte sa uistiť, že funguje správne hneď po zatvorení terminálu. Terminál sa zatvára nasledujúcim spôsobom: musíte kliknúť na krížik, ktorý sa nachádza v hornom rohu obrazovky, to vedie k ukončeniu všetkých procesov na pozadí. Existuje niekoľko spôsobov, ako ich zachrániť v prípade, že sa stratí spojenie s interaktívnym shellom
Po prvé: odstráňte front úloh z úlohy pomocou funkcie disown
:
disown
Podobne ako v predchádzajúcich prípadoch, ak je spustených viacero súbežných procesov, mali by ste zadať číslo toho, voči ktorému sa akcia vykoná:
disown %1
Uistite sa, že sa úloha nenachádza v zozname úloh. Ako to urobiť. Použite nástroj jobs -l
. Na zobrazenie celého zoznamu spustených procesov slúži príkaz:
ps aux
Ďalší spôsob: Bežiace procesy uložíte príkazom nohup
. Tento príkaz po vykonaní zase vykoná iný príkaz, všetky signály SIGHUP
budú ignorované.
Príkaz môžete spustiť na pozadí takto:
nohup command &
Ako vidíte na obrázku vyššie, výstup príkazu sa odošle do súboru nohup.out.
Najdôležitejšie je, že po odhlásení a zatvorení terminálu bude proces naďalej fungovať. Existujú niektoré nástroje, ktoré umožňujú spustiť dve alebo viac relácií naraz. Umožňujú to najmä programy Screen
a Tmux
.
Screen
alebo GNU Screen
je terminálový multiplexer, ktorý umožňuje spustiť jednu pracovnú reláciu a otvoriť v nej ľubovoľný počet okien (virtuálnych terminálov). Procesy spustené v tomto programe budú bežať aj vtedy, keď sú ich okná neviditeľné alebo sa program zastavil.Tmux
je modernejšou alternatívou GNU Screen
. Funkcie Tmuxu
sa však zásadne nelíšia - v rámci jednej relácie môžete rovnakým spôsobom otvoriť mnoho okien. Úlohy spustené v Tmuxe
pokračujú v práci, ak je terminál zatvorený.Tento problém sme vyriešili, ako vidíte, všetko je elementárne a jednoduché.