Metode de plată Abuse

Lucrul în procesul de fundal Linux

27.01.2023, 23:58

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.

Cum funcționează un proces de fundal

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.