cum să rulați comenzile Bash în fundal în Linux

nu este nimic mai enervant decât să rulați o comandă în terminalul dvs. și să o executați minute, uneori ore și să nu mai puteți utiliza terminalul din nou. Sigur, puteți utiliza File, dar aceasta este o soluție ciudată și nu este întotdeauna optimă, deoarece poate doriți să vedeți actualizări în timp ce lucrați. Aici vă arătăm câteva moduri diferite de a rula comenzi bash în fundal în Linux.,

End o Comandă cu &

Dacă vrei să faci o comandă în fundal, folosind & la sfârșitul este o modalitate ușoară de a face asta. În acest fel, puteți emite o comandă în fundal și puteți continua să utilizați terminalul pe măsură ce rulează. Vine cu o captură, totuși. Folosind & nu deconectezi comanda de la tine; doar o împinge în fundal., Acest lucru înseamnă că în timp ce sunteți încercarea de a utiliza terminalul, orice comanda vrea să se apasă STDOUT sau STDERR va fi încă tipărite, care poate fi deranjant.

COMANDA &

atunci Când terminalul sesiunea este închisă, comanda se încheie., De asemenea, puteți ucide comanda prin emiterea comenzii jobs, găsind numărul comenzii care rulează și ucigând-o cu comanda kill. Care sintaxa este după cum urmează:

ucide %1

cu Ajutorul & este bun, dacă aveți nevoie pentru a împinge ceva pentru un pic, dar nu mă aștept să continue pentru totdeauna.,

& După o Comandă, Apoi L Renege

se Execută o comandă cu doar & îl împinge pe la spate și păstrează-l ruleze atâta timp cât fereastra terminal este deschis. Dacă, totuși, doriți să mențineți această comandă în funcțiune constantă, chiar și cu terminarea sesiunii terminale, puteți utiliza comanda disown.pentru a utiliza această metodă, începeți prin adăugarea unui &.,

COMANDA &

după Cum sa menționat mai sus, folosind & împinge această comandă în fundal, dar nu se desprinde de utilizator. Puteți verifica acest lucru tastând jobs în terminal. Va arăta comanda care rulează în fundal așa cum am văzut înainte.

trebuie doar să tastați disown în shell și va face exact asta. (Și puteți verifica din nou acest lucru cu comanda jobs.,)

puteți face doar din disown comanda acolo

Acum puteți închide terminalul și continua despre ziua ta. Se va păstra în continuare conducte lucruri STDOUT sau STDERR, dar, o dată ce ieși și redeschide terminalul dumneavoastră, nu veți vedea nimic acolo., Puteți găsi din nou comanda cu top sau ps comenzi și să-l ucidă cu kill comandă.

renegate de locuri de muncă este cel de-al doilea, cu PID 16238.,

& După o Comandă cu /dev/null

Adăugarea & după o comandă va împinge o comandă în fundal, dar, ca urmare, fondul de comandă va continua să imprimați mesaje în terminal ca te folosești de ea. Dacă doriți să preveniți acest lucru, luați în considerare redirecționarea comenzii la /dev/null.,

COMANDA &>/dev/null &

Acest lucru nu împiedică comanda de închidere atunci când terminalul se închide. Cu toate acestea, așa cum am menționat mai sus, este posibil să utilizați disown pentru a renunța la comanda de rulare de la utilizator. De asemenea, îl puteți ucide în oricare dintre metodele menționate mai sus, dacă nu doriți să mai ruleze.,

Nohup, cu & și /dev/null

spre Deosebire de cele anterioare comenzi, folosind nohup vă permite să executați o comandă în fundal și păstrați-l rulează. Cum? nohup ocolește semnalul HUP (signal hang up), 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ă facă un nohup.fișier), și totul merge în fundal cu o singură comandă.,

COMANDA nohup &>/dev/null &

cele Mai multe terminale de programe pe Linux astăzi au caracteristici construit în pentru a le permite pentru a rula în fundal cu putin efort. În același timp, sistemele moderne init (cum ar fi systemd) pot permite utilizatorilor să pornească programe precum servicii la pornire 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 sisteme moderne init. Acesta este un inconvenient real, dar este de înțeles, deoarece nu toți dezvoltatorii au abilitatea sau timpul să adauge noi funcții.din fericire, comenzi precum nohupsau disown sunt încă o realitate și pot închide decalajul în mutarea programelor ca acesta în fundal. Nu sunt perfecte sau fanteziste, dar își fac treaba când este nevoie.,dacă v-a plăcut acest articol Linux, asigurați-vă că consultați unele dintre celelalte conținuturi Linux ale noastre, cum ar fi cum să vă conectați contul Google la GNOME Shell, 5 dintre cele mai bune distribuții Linux pentru utilizatorii Windows în 2021 și 15 comenzi LS pe care trebuie să le cunoașteți.

Related:

John Perkins

John este un tânăr profesionist tehnic cu o pasiune pentru educarea utilizatorilor cu privire la cele mai bune moduri de a-și folosi tehnologia. Deține certificări tehnice care acoperă subiecte de la hardware la securitate cibernetică până la administrarea sistemului Linux.,

Obțineți poveștile noastre livrate în căsuța de e-mail.

Share

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *