Imaginați-vă dacă un proces critic rulează pe sistemul dvs. și durează mult timp. Dintr-o dată trebuie să vă deconectați din sistem. Dacă vă deconectați, procesele dvs. se vor opri și cu siguranță veți dori să evitați acest lucru. Dacă doriți ca procesul dvs. de rulare să fie continuat fără întrerupere, atunci aveți nevoie de comanda nohup.

Nohup (înseamnă no hangup) este o comandă care ignoră semnalul HUP. S-ar putea să vă întrebați care este semnalul HUP., Este practic un semnal care este livrat unui proces atunci când shell-ul său asociat este terminat. De obicei, atunci când ne deconectăm, atunci toate programele și procesele care rulează sunt suspendate sau oprite. Dacă dorim să continuăm să rulăm procesul chiar și după deconectare sau deconectare de la shell-ul curent, putem folosi comanda nohup. Aceasta face ca procesele să fie imune la semnalele HUP pentru a face programul să ruleze chiar și după deconectare. Cu nohup, nu va mai trebui să vă conectați mult timp doar pentru a aștepta finalizarea procesului.,

în acest articol, vă vom explica cum să utilizați comanda Nohup în diferite scenarii în Linux.,garding la comanda nohup, utilizați următoarea comandă:

$ nohup –ajutor

Pentru a găsi informații despre versiunea de nohup, utilizați următoarea comandă:

$ nohup –version

Începe un proces folosind Nohup

Dacă doriți să păstrați o comandă sau proces care se execută chiar dacă ieșiți din cochilie, utilizați nohup urmată de comandă pentru a executa:

$ nohup comanda

după ce executați comanda de mai sus, toate de ieșire, împreună cu mesaje de eroare, va fi adăugat la nohup.,fișier out în directorul acasă sau în directorul curent. Acum, dacă shell-ul este închis sau vă deconectați, comanda executată mai sus nu va fi terminată.

redirecționați ieșirea către un fișier diferit

în mod implicit, ieșirea comenzii nouhup este adăugată la nohup.fișier afară. Pentru a redirecționa această ieșire către un alt fișier, utilizați > Operator redirector urmat de numele fișierului specific. De exemplu, am folosit următoarea comandă pentru a salva de ieșire de comanda nohup într-un fișier nou numit „myscript.sh”.

$ sudo nohup ./ mn.,sh > myscipt.sh &

Începe un proces în fundal folosind Nohup

Pentru a începe și de a pune procesul în fundal, va trebui să utilizați nohup după cum urmează:

$ comanda nohup &

& simbol spune shell pentru a rula comanda în fundal. Este similar cu comanda nohup de mai sus, cu excepția faptului că atunci când sesiunea se termină, se întoarce imediat la promptul shell. Pentru ao readuce în prim plan, utilizați comanda „fg”.,

ieșirea tuturor comenzilor pe care le executați va fi anexată la nohup.fișier afară. Puteți vizualiza acest fișier folosind comanda cat nohup din Terminal. Numărul 80132 din imaginea de mai sus indică numărul de identificare al procesului (PID) al procesului care rulează în fundal.

Start mai multe procese în fundal folosind Nohup

puteți rula mai multe comenzi în fundal folosind comanda nohup. În exemplul următor, comenzile mkdir, ping și Ls sunt executate în fundal folosind comanda nohup.,

$ nohup bash -c ‘mkdir fișiere &&
ping -c 1 google.com && e’> ieșire.txt

terminare proces care rulează în fundal

Pentru a termina un proces care rulează în fundal, utilizați comanda kill, după cum urmează:

$ kill -9 PID

Veți găsi PID-ul unui proces atunci când se utilizează nohup cu „&”., Un alt mod de a găsi PID este prin pgrep –o comandă. De exemplu, dacă ați rulat comanda Ping cu nohup, aceasta va continua să ruleze în fundal chiar dacă închideți shell-ul. Acum, în acest caz, pentru a găsi PID –ul unui proces Ping care rulează în fundal, Utilizați această comandă:

$ pgrep-a ping

acesta va lista toate procesele asociate comenzii Ping.,

Acum, pentru a termina procesul de Ping rulează în fundal, utilizați comanda kill, după cum urmează:$ kill -9 80928So, aceasta a fost scurtă introducere de nohup de comandă în Linux. Comanda Nohup este utilizată pentru a împiedica terminarea unui proces important atunci când vă deconectați sau închideți sesiunea. Ajută foarte mult atunci când executați un proces, în special scripturi care durează mult timp pentru a fi finalizate.