COMANDO : NOHUP

NOHUP

Quando si utilizza la shell dei comandi, il prefisso di un comando con nohup impedisce che il comando venga interrotto automaticamente quando si chiude o si esce dalla shell.Il nome nohup sta per “no hangup”. Il segnale di hangup (HUP), che normalmente viene inviato a un processo per informarlo che l’utente è disconnesso (o “sospeso”), viene intercettato da nohup, consentendo al processo di continuare a funzionare.

Sintassi
comando nohup [argomento-comando …]
nohup –help | –versione
Opzioni
–help                             Visualizza un messaggio di aiuto ed esce.
–version Output       Informazioni sulla versione e uscita.
Gli appunti

Se lo standard input è un terminale, nohup lo reindirizza da / dev / null. Pertanto, l’input del terminale non è possibile quando si esegue un comando con nohup.

Se l’output standard è un terminale, l’output del comando viene aggiunto al file nohup.out se possibile oppure $ HOME / nohup.out altrimenti.

Se l’errore standard è un terminale, viene reindirizzato allo standard output.

Per salvare l’output in un file denominato file, utilizzare “comando nohup> file”.

Esempi
nohup mycommand
Esegui il comando mycommand. Non riceverà input. Tutti gli output, inclusi eventuali messaggi di errore, verranno scritti nel file nohup.out nella directory di lavoro o nella home directory. Se mycommand è in esecuzione quando si chiude o si chiude il terminale, mycommand non si chiuderà.

nohup mycommand &
Come il comando precedente, ma questo modulo (quando si usa la shell bash) ritorna immediatamente al prompt della shell. Il simbolo “&” alla fine del comando indica a bash di eseguire nohup mycommand in background. Può essere riportato in primo piano con il comando built-in fg bash.

Quando si utilizza &, verrà visualizzato l’ID del lavoro bash tra parentesi e l’ID del processo (PID) elencato in seguito. Per esempio:
25132
È possibile utilizzare il PID per interrompere prematuramente il processo. Ad esempio, per inviarlo il segnale TERM (termina) con il comando kill:

kill -9 25132