Che cos'è Nohup e come si usa?

Che cos’è Nohup e come si usa?

Ci sono molti comandi disponibili sui sistemi Linux. Ce ne sono alcuni che utilizzerai più volte al giorno e altri generalmente riservati a casi d’uso speciali. nohup è uno di questi comandi. Non lo userai tutti i giorni, ma sarai grato che sia disponibile quando ne avrai bisogno. Qui ti mostriamo cosa nohup è e come usarlo.

Cos’è Nohup?

nohup è l’abbreviazione di “Nessun riaggancio”. Non è un comando che esegui da solo. nohup è un comando supplementare che dice al sistema Linux di non interrompere un comando una volta avviato. Ciò significa che continuerà a funzionare fino al termine, anche se l’utente che l’ha avviato si disconnette. Ha uno scopo in qualche modo simile a tmux o screen, permettendoti di avviare un processo e non preoccuparti se finirà se ti disconnetti o ti disconnetti dal tuo server. La sintassi per nohup è semplice e assomiglia a questo:

Notare il “&” alla fine del comando. Ciò sposta il comando in background, liberando il terminale in cui stai lavorando.

nohup funziona con quasi tutti i comandi che esegui nel terminale. Può essere eseguito con script personalizzati, comandi di sistema standard e utilità della riga di comando. Potresti usarlo per avviare uno script di controllo della sicurezza su un server remoto ed essere in grado di disconnetterti e andartene, oppure potresti semplicemente volerlo usare se vuoi eseguire gli aggiornamenti in background e non farli fermare per niente.

Nohup.out

Perché nohup può continuare a funzionare indipendentemente dall’utente che l’ha avviato, il comando ha bisogno di un posto dove emettere messaggi o errori. Poiché non c’è un terminale da associare ad esso, nohup registra tutto in un file di output, nohup.out.

Per impostazione predefinita, quel file si trova nella directory in cui hai avviato il comando. nohup.out è in qualche modo unico perché contiene insieme sia l’output standard che l’output degli errori. nohup reindirizza entrambi allo stesso file per impostazione predefinita.

Uscita Nohup

Non devi necessariamente usare nohup.out, però – è solo l’impostazione predefinita. Puoi specificare un output personalizzato durante l’esecuzione nohup e posizionarlo in una posizione personalizzata.

L’output personalizzato contiene esattamente gli stessi dati dello standard nohup.out file sarebbe. Questo è utile per lo script di controllo della sicurezza che ho menzionato sopra. Potresti nominarlo audit-script-output.txt in una sorta di cartella remota montata e visualizzare la posizione di sicurezza di quel server comodamente dal proprio laptop invece di guardare attraverso cat uscite tutto il giorno.

In che modo Nohup è diverso da un demone?

A questo punto, probabilmente ti starai chiedendo cosa imposta nohup a parte un processo demonizzato. Dopotutto, entrambi sembrano servire allo stesso scopo, ma in realtà non lo fanno.

I demoni vengono eseguiti continuamente in background. Sono meglio riservati per i processi che non vuoi mai uscire, come i server. Richiedono anche più lavoro per la programmazione, quindi non sono i migliori per semplici script una tantum.

nohup è per uso singolo. Pensa a uno script che impiegherà molto tempo per essere eseguito ma alla fine finirà comunque. Forse c’è un compito lungo e complicato che esegui di tanto in tanto che richiede ore per essere completato. Non vuoi lasciare un terminale aperto o un utente connesso, quindi usi nohup per mantenerlo in esecuzione in background e inserire tutto l’output in qualsiasi file tu scelga, sia che sia predefinito nohup.out o la posizione prescelta.

Se ti è piaciuto questo articolo su nohup, i suoi vantaggi e i suoi usi, assicurati di controllare alcuni dei nostri altri contenuti Linux, come la nostra spiegazione dei permessi dei file o l’accelerazione di una macchina Linux lenta.

Relazionato:

  • Comandi Linux utili per elencare il contenuto di una directory
  • 6 dei comandi Linux più utili per i nuovi utenti
  • 17 divertenti comandi Linux da eseguire nel terminale
Torna su