TTipicamente, in Linux, quando la connessione si interrompe o l’utente si disconnette dal sistema, la sessione verrà terminata e tutti i processi eseguiti dal terminale verranno interrotti. Se desideri che un programma o un comando continui a funzionare in background anche dopo il logout o l’uscita dal sistema, potresti dover utilizzare il comando nohup.

Il comando nohup eseguirà altri programmi o comandi con gli argomenti forniti e ignorerà tutti i segnali di interruzione. Questo comando è utile, specialmente se connesso al tuo server tramite SSH, e vuoi che il programma o il comando continui a funzionare in background anche dopo esserti disconnesso dal server.

Comando Nohup Linux

Sintassi:

nohup COMMAND [ARGS]

o

Per trovare aiuto riguardo al comando nohup:

Per trovare le informazioni sulla versione di nohup, usa il comando seguente:

1. Esecuzione del comando in primo piano

Per impostazione predefinita, il comando nohum viene eseguito in primo piano e reindirizza l’output al file “nohup.output”. Questo file verrà creato nella directory di lavoro corrente. Se l’utente non dispone dell’autorizzazione, verrà creata nella directory home dell’utente.

$ nohup ls

Esempio:

esecuzione di nohup in primo piano
esecuzione di nohup in primo piano

2. Esecuzione del comando in background

L’utilizzo del comando nohup in primo piano presenta l’inconveniente di non poter interagire con il terminale fino al termine dell’esecuzione del comando. Quindi, per evitare ciò, eseguiremo il comando in background in questo modo

$ nohup ping fosslinux.com

Esempio:

in esecuzione nohup in background
in esecuzione nohup in background

Puoi vedere nell’esempio sopra che tutto l’output del comando verrà aggiunto al file nohup.out. Puoi visualizzare questo file utilizzando il comando “cat nohup” nel Terminale.

[1] 2233

Dove [1] è l’ID lavoro e 2233 è il (PID) del processo in background. Puoi utilizzare questo ID processo per terminare il processo in background:

$ kill 2233

Il comando precedente ucciderà il processo in background.

3. Reindirizzamento dell’output a un file

Per impostazione predefinita, il comando nohup scrive l’output nel file nohup.out file. Puoi anche definire il tuo file di output usando il reindirizzamento della shell standard.

$ nohup ls > list.out

Esempio:

file di output personalizzato nohup
file di output personalizzato nohup

È inoltre possibile creare file separati per l’output e l’errore utilizzando la seguente riga di comando.

nohup ls > list.out 2 > list.err

4. Esecuzione di più comandi

Puoi anche eseguire più comandi con nohup. Nell’esempio seguente, i comandi mkdir, bash e ls sono in esecuzione in background.

nohup  bash -c 'mkdir fossDir && ls'

Esempio:

nohup che esegue più comandi
nohup che esegue più comandi

Conclusione

In questo tutorial, gli usi del comando nohup vengono spiegati con semplici esempi e speriamo che ora possiate comprendere molto bene l’utilità di questo comando. Non esitate a lasciare un commento.

Lascia un commento

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