V-am spus ce este un proces de fundal Linux și cum să îl porniți corect. În acest articol vă vom spune cum funcționează în acest mod.
Rularea unui script în Linux este o sarcină, trebuie să vă asigurați că acesta funcționează corect imediat după ce ați închis terminalul. Terminalul este închis în felul următor: trebuie să faceți clic pe crucea care se află în colțul superior al ecranului, acest lucru duce la terminarea tuturor proceselor din fundal. Există mai multe metode de a le salva în cazul în care conexiunea cu shell-ul interactiv este pierdută
Prima: eliminați coada de lucru din sarcină utilizând disown
:
disown
Ca și în cazurile anterioare, dacă există mai multe procese care rulează simultan, trebuie specificat numărul celui în raport cu care va fi efectuată acțiunea:
disown %1
Asigurați-vă că sarcina nu se află în lista de sarcini. Cum să faceți acest lucru. Utilizați utilitarul jobs -l
. Pentru a vizualiza întreaga listă de procese în execuție, se utilizează comanda:
ps aux
Următoarea metodă: se salvează procesele în curs de execuție cu comanda nohup
. Această comandă după execuție va executa la rândul său o altă comandă, toate semnalele SIGHUP
vor fi ignorate.
Puteți rula comanda în fundal astfel:
nohup command &
După cum puteți vedea în imaginea de mai sus, ieșirea comenzii va fi trimisă la nohup.out
. Cel mai important lucru este că, după încheierea logării și închiderea terminalului, procesul va continua să funcționeze. Există unele utilitare care vă permit să rulați două sau mai multe sesiuni simultan. În special, Screen
și Tmux
vă permit să faceți acest lucru.
Screen
sau GNU Screen
este un multiplexor de terminale care vă permite să începeți o sesiune de lucru și să deschideți orice număr de ferestre (terminale virtuale) în cadrul acesteia. Procesele care rulează în acest program vor funcționa chiar dacă ferestrele lor sunt invizibile sau dacă programul a încetat să funcționeze.Tmux
este o alternativă mai modernă la GNU Screen
. Cu toate acestea, caracteristicile Tmux
nu sunt fundamental diferite - puteți deschide multe ferestre în cadrul unei singure sesiuni în același mod. Sarcinile care rulează în Tmux
continuă să ruleze dacă terminalul este închis.Am rezolvat această problemă, după cum puteți vedea, totul este elementar și simplu.