GeeksforGeeks (Italiano)

Ogni comando in Linux avvia un processo al momento della sua esecuzione, che viene automaticamente terminato all’uscita dal terminale. Supponiamo che tu stia eseguendo programmi su SSH e se la connessione cade, la sessione verrà terminata, tutti i processi eseguiti si fermeranno e potresti affrontare un’enorme crisi accidentale. In questi casi, l’esecuzione di comandi in background può essere molto utile per l’utente ed è qui che il comando nohup entra in scena., nohup (No Hang Up) è un comando nei sistemi Linux che esegue il processo anche dopo il logout dalla shell/terminale.

Di solito, ogni processo nei sistemi Linux viene inviato un SIGHUP (Signal Hang UP) che è responsabile della chiusura del processo dopo la chiusura / uscita dal terminale. Comando Nohup impedisce al processo di ricevere questo segnale alla chiusura o all’uscita del terminale/shell. Una volta che un lavoro viene avviato o eseguito utilizzando il comando nohup, stdin non sarà disponibile per l’utente e nohup.out file viene utilizzato come file predefinito per stdout e stderr., Se l’output del comando nohup viene reindirizzato a qualche altro file, nohup.il file out non viene generato.

Sintassi:

nohup command 

Lavorare con il comando nohup

1. Controllo della versione di Nohup:

La versione del comando nohup può essere controllata usando il seguente comando.

$ nohup --version

Uscita:

2. Per eseguire un comando in primo piano:

Esegue il comando in primo piano e reindirizza l’output del comando al nohup.out file se non viene menzionato alcun nome di file di reindirizzamento.,

$ nohup bash geekfile.sh

Uscita:

Per reindirizzare l’uscita all’uscita.file txt:

$ nohup bash geekfile.sh > output.txt

Uscita:

3. Per eseguire un comando in background (con ‘&’):

Per eseguire il comando in background, il simbolo ‘&’ viene aggiunto alla fine del comando. Dopo l’esecuzione, non ritorna al prompt dei comandi della shell dopo aver eseguito il comando in background. Può essere riportato in primo piano con il comando fg.,

$ nohup bash geekfile.sh &fg

Output:

Nota: Il numero tra parentesi quadre rappresenta l’id del lavoro e il numero accanto ad esso è l’id del processo.

4. Per eseguire più comandi in background:

il comando nohup può essere usato per eseguire più comandi in background.

$ nohup bash -c 'commands'

Esempio:

$ nohup bash -c 'cal && ls'

Output:

Qui, l’output verrà memorizzato di default in nohup.fuori. Per reindirizzarlo, digitare:

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

Esempio:

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

Output:

Tag articolo:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *