Con il comando Linux nohup, il sistema ignora il comando di so­spen­sio­ne HUP (dall’inglese “hangup”). In questo modo, un processo può con­ti­nua­re a essere eseguito in back­ground. Il suo output viene rein­di­riz­za­to 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’in­ter­ru­zio­ne della con­nes­sio­ne su una linea dati tra il sistema operativo e un’altra ap­pli­ca­zio­ne. In alcune cir­co­stan­ze, tuttavia, è ne­ces­sa­rio che questo segnale non venga inviato. Ciò avviene so­prat­tut­to se un’ap­pli­ca­zio­ne deve con­ti­nua­re a fun­zio­na­re anche se l’utente si è di­scon­nes­so dal sistema. Il comando nohup viene quindi uti­liz­za­to per sop­pri­me­re il segnale e per­met­te­re ai programmi di con­ti­nua­re a fun­zio­na­re in back­ground.

Come funziona il comando nohup su Linux?

Il programma nohup è incluso in tutte le più comuni di­stri­bu­zio­ni Linux, come Debian e Ubuntu, e non è quindi ne­ces­sa­rio in­stal­lar­lo se­pa­ra­ta­men­te. È possibile uti­liz­zar­lo per istruire il sistema ad avviare un de­ter­mi­na­to programma in back­ground, se­pa­ran­do­lo così dalla shell di login. Qualsiasi output viene au­to­ma­ti­ca­men­te rein­di­riz­za­to alla cartella nohup.out. So­prat­tut­to nel caso di processi lunghi, ciò co­sti­tui­sce un vantaggio perché è possibile di­scon­net­ter­si senza in­ter­rom­pe­re 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 spe­ci­fi­ca­ti. Per con­sen­ti­re ai processi di con­ti­nua­re a girare in back­ground dopo la di­scon­nes­sio­ne, 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]” è con­sen­ti­ta l’opzione “-p” o “-parent”.

Esempi per il comando nohup su Linux

Per aiutarvi a capire ancora meglio come funziona il comando, con­clu­dia­mo mo­stran­do­vi alcuni esempi del suo utilizzo.

$ nohup bash esempio.sh
bash

Questo fa sì che il comando venga eseguito in primo piano. L’output viene au­to­ma­ti­ca­men­te rein­di­riz­za­to al file nohup.out.

$ nohup bash esempio.sh > output.txt
bash

In questo modo ci si assicura che l’output venga rein­di­riz­za­to al documento output.txt.

$ nohup bash esempio.sh &
bash

Questo in­se­ri­men­to fa sì che il comando continui a essere eseguito in back­ground. Se de­si­de­ra­te annullare questa ope­ra­zio­ne e riportare il comando in primo piano, fg è la scelta giusta.

Vai al menu prin­ci­pa­le