GeeksforGeeks (Română)

fiecare comandă din Linux începe un proces la momentul execuției sale, care se termină automat la ieșirea din terminal. Să presupunem că executați programe prin SSH și dacă conexiunea scade, sesiunea va fi încheiată, toate procesele executate se vor opri și vă puteți confrunta cu o criză accidentală uriașă. În astfel de cazuri, rularea comenzilor în fundal poate fi foarte utilă pentru utilizator și de aici vine comanda nohup în imagine., nohup (No Hang Up) este o comandă în sistemele Linux care rulează procesul chiar și după deconectarea de la shell/terminal.

De obicei, fiecare proces în sistemele Linux este trimis un SIGHUP (semnal Închide), care este responsabil pentru terminarea procesului după închiderea / ieșirea terminalului. Comanda Nohup împiedică procesul să primească acest semnal la închiderea sau ieșirea din terminal/coajă. Odată ce un loc de muncă este pornit sau executat folosind comanda nohup, stdin nu va fi disponibil pentru utilizator și nohup.fișierul out este utilizat ca fișier implicit pentru stdout și stderr., Dacă ieșirea comenzii nohup este redirecționată către un alt fișier, nohup.fișierul out nu este generat.

Sintaxa:

nohup command 

de Lucru cu comanda nohup

1. Verificarea versiunii Nohup:

Versiunea comenzii nohup poate fi verificată utilizând următoarea comandă.

$ nohup --version

ieșire:

2. Pentru a rula o comandă în prim-plan:

execută comanda în prim-plan și redirecționează ieșirea comenzii către nohup.out fișier dacă orice nume de fișier redirecționarea nu este menționat.,

$ nohup bash geekfile.sh

ieșire:

pentru a redirecționa ieșirea la ieșire.fișier txt:

$ nohup bash geekfile.sh > output.txt

ieșire:

3. Pentru a rula o comandă în fundal (cu ‘&’):

Pentru a rula de comandă în fundal, ‘&’ simbolul este anexată la sfârșitul comenzii. După executare, nu se întoarce la promptul de comandă shell după rularea comenzii în fundal. Poate fi readus în prim plan cu comanda fg.,

$ nohup bash geekfile.sh &fg

Ieșire:

Notă: numărul în paranteze pătrate reprezintă job id-ul și numărul de lângă acesta este id-ul procesului.

4. Pentru a rula mai multe comenzi în fundal:

comanda nohup poate fi utilizată pentru a rula mai multe comenzi în fundal.

$ nohup bash -c 'commands'

Exemplu:

$ nohup bash -c 'cal && ls'

Ieșire:

Aici, ieșirea va fi în mod implicit stocate în nohup.afară. Pentru a redirecționa, de tip:

$ nohup bash -c 'commands' > filename.txt

Exemplu:

$ nohup bash -c 'cal && ls' > output.txt

Ieșire:

Articolul Tag-uri :

Lasă un răspuns

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