Comando nohup di Linux

Comando nohup di Linux

Comando nohup di Linux

Sui sistemi operativi simili a Unix, il comando nohup esegue un altro comando e indica al sistema di continuare a eseguirlo anche se la sessione è disconnessa.

Questa pagina tratta la versione GNU/Linux di nohup.

Descrizione

Quando si utilizza la shell dei comandi, il prefisso di un comando con nohup impedisce che il comando venga interrotto automaticamente quando ci si disconnette o si esce dalla shell.

Il nome nohup sta per “no hangup”. Il segnale di riaggancio (HUP), che viene normalmente inviato a un processo per informarlo che l’utente si è disconnesso (o “riagganciato”), viene intercettato da nohup, consentendo al processo di continuare l’esecuzione.

Sintassi

nohup command [command-argument ...]
nohup --help | --version

Opzioni

–aiuto Visualizza un messaggio di aiuto ed esci.
–versione Informazioni sulla versione di output ed esci.

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 lo standard output è un terminale, l’output del comando viene aggiunto al file nohup.out, se possibile, o $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 riceve input. Tutto l’output, inclusi eventuali messaggi di errore, viene scritto nel file nohup.out nella directory di lavoro o nella directory home. Se mycommand è in esecuzione quando ci si disconnette o si chiude il terminale, mycommand non termina.

nohup mycommand &

Uguale al comando precedente, ma questo modulo (quando si utilizza la shell bash) ti riporta 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 integrato fg bash.

Quando si utilizza &, viene visualizzato l’ID del processo bash tra parentesi e il PID (ID processo) elencato dopo. Per esempio:

[1] 25132

È possibile utilizzare il PID per terminare prematuramente il processo. Ad esempio, per inviargli il segnale TERM (terminate) con il comando kill:

kill -9 25132

nice — Richiama un comando con una priorità di pianificazione alterata.

Articoli correlati

Ultimi articoli