Comando nohup su Linux: come mantenere i processi in esecuzione dopo la disconnessione

Con il comando Linux nohup, il sistema ignora il comando di sospensione HUP (dall’inglese “hangup”). In questo modo, un processo può continuare a essere eseguito in background. Il suo output viene reindirizzato al file nohup.out o a un altro file a scelta.

Che cos’è nohup su Linux?

Per capire cos’è il comando Linux nohup, è opportuno dare un’occhiata a SIGHUP. Si tratta di un segnale che viene generato su Linux, tra l’altro, quando si verifica un’interruzione della connessione su una linea dati tra il sistema operativo e un’altra applicazione. In alcune circostanze, tuttavia, è necessario che questo segnale non venga inviato. Ciò avviene soprattutto se un’applicazione deve continuare a funzionare anche se l’utente si è disconnesso dal sistema. Il comando nohup viene quindi utilizzato per sopprimere il segnale e permettere ai programmi di continuare a funzionare in background.

Come funziona il comando nohup su Linux?

Il programma nohup è incluso in tutte le più comuni distribuzioni Linux, come Debian e Ubuntu, e non è quindi necessario installarlo separatamente. È possibile utilizzarlo per istruire il sistema ad avviare un determinato programma in background, separandolo così dalla shell di login. Qualsiasi output viene automaticamente reindirizzato alla cartella nohup.out. Soprattutto nel caso di processi lunghi, ciò costituisce un vantaggio perché è possibile disconnettersi senza interrompere il processo.

Qual è la sintassi di nohup su Linux?

La sintassi di base del comando Linux nohup è sempre la stessa. Di seguito la sua struttura:

$ nohup [comando] [argomento] [&]
bash

“[Comando]” e “[argomento]” sono parametri che possono essere regolati e specificati. Per consentire ai processi di continuare a girare in background dopo la disconnessione, usate “[&]”.

Quali opzioni ha il comando nohup?

Il comando nohup su Linux non accetta alcuna opzione, tranne le due standard “-h” o “–help” e “-v” o “–version”. Solo se non inserite un parametro per “[comando]” è consentita l’opzione “-p” o “-parent”.

Esempi per il comando nohup su Linux

Per aiutarvi a capire ancora meglio come funziona il comando, concludiamo mostrandovi alcuni esempi del suo utilizzo.

$ nohup bash esempio.sh
bash

Questo fa sì che il comando venga eseguito in primo piano. L’output viene automaticamente reindirizzato al file nohup.out.

$ nohup bash esempio.sh > output.txt
bash

In questo modo ci si assicura che l’output venga reindirizzato al documento output.txt.

$ nohup bash esempio.sh &
bash

Questo inserimento fa sì che il comando continui a essere eseguito in background. Se desiderate annullare questa operazione e riportare il comando in primo piano, fg è la scelta giusta.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top