Rularea comenzilor Bash în fundal în modul corect [Linux]

Rularea comenzilor Bash în fundal în modul corect [Linux]
⏱️ 3 min read

Toată lumea a fost acolo: căutați să rulați un program terminal și să îl continuați să ruleze. Problema este că acest program este vechi sau nu include o caracteristică care îi permite să ruleze ca un demon în fundal. Din fericire, există mai multe modalități de a forța programele să funcționeze oricum.

Bash poate face acest lucru singur, iar programele suplimentare nu vor trebui instalate. Acest articol va analiza mai multe moduri prin care puteți împinge programele terminale în fundal și le puteți menține acolo. Fiecare metodă enumerată este bună pentru propriul caz de utilizare specială.

Casa dintre meri este gata! Ep. #6
Casa dintre meri este gata! Ep. #6

Încheiați o comandă cu &

Dacă doriți să împingeți o comandă în fundal, utilizați & la final este o modalitate ușoară de a face asta. Totuși, vine cu o captură. Folosind & nu deconectează comanda departe de tine; doar îl împinge în fundal, astfel încât să puteți continua să utilizați un terminal.

Când sesiunea terminalului este închisă, comanda se termină. Folosind & este bine dacă aveți nevoie să împingeți ceva pentru un pic, dar nu vă așteptați să continue pentru totdeauna.

& După o comandă, Apoi Renunțați-l

Executarea unei comenzi cu doar & îl împinge în spate și îl menține în funcțiune atâta timp cât fereastra terminalului este deschisă. Cu toate acestea, dacă doriți să păstrați această comandă în funcțiune constantă, chiar și cu finalizarea sesiunii de terminal, puteți utiliza disown comanda.

Pentru a utiliza această metodă, începeți mai întâi adăugând un &.

După cum sa menționat mai sus, folosind & împinge această comandă în fundal, dar nu o desprinde de utilizator. Puteți verifica acest lucru tastând jobs în terminal. Va afișa comanda care rulează în fundal.

bash-background-disown-jobs

Doar tastați disown în shell și va face exact asta (și puteți verifica din nou acest lucru cu jobs comanda).

& După o comandă cu / dev / null

Se adaugă & după ce o comandă va împinge o comandă în fundal, dar, ca rezultat, comanda de fundal va continua să imprime mesaje în terminal pe măsură ce îl utilizați. Dacă doriți să preveniți acest lucru, luați în considerare redirecționarea comenzii către /dev/null.

bash-background-dev-null

Aceasta nu împiedică închiderea comenzii la închiderea terminalului. Cu toate acestea, așa cum am menționat mai sus, este posibil să se utilizeze disown pentru a respinge comanda de rulare departe de utilizator.

Nu, cu & și / dev / null

Spre deosebire de comenzile anterioare, folosind nohup vă permite să rulați o comandă în fundal și să o mențineți executată. Cum? Nohup ocolește semnalul HUP (semnalul închide), făcând posibilă rularea comenzilor în fundal chiar și atunci când terminalul este oprit. Combinați această comandă cu redirecționarea către /dev/null (pentru a împiedica nohup să creeze un fișier nohup.out) și totul merge în fundal cu o singură comandă.

bash-background-no-hup

Concluzie

Majoritatea programelor terminale de pe Linux au astăzi funcții încorporate pentru a le permite să ruleze în fundal cu puțin efort. Împreună cu asta, sistemele de inițiere moderne (cum ar fi systemd) pot permite utilizatorilor să pornească programe precum servicii la boot sau oricând.

Totuși, unele programe de pe Linux nu au capacitatea de a rula ca un demon sau de a se integra cu sistemele de inițiere moderne. Acesta este un inconvenient real, dar este de înțeles, deoarece nu toți dezvoltatorii au abilitatea sau timpul necesar pentru a adăuga noi caracteristici.

Din fericire, comenzi de genul nohup sau disown sunt încă o realitate și pot în continuare să reducă diferența în ceea ce privește mutarea programelor de acest gen în plan secund. Nu sunt perfecte sau fanteziste, dar își fac treaba la nevoie.

Cum mutați programele terminale care rulează în fundal? Spune-ne mai jos!

Credit de imagine: Un terminal – patru ecrane

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

You may also like...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x