GNU/Linux >> Linux Esercitazione >  >> Linux

Comando Nohup in Linux

Quando si esce dalla shell di un sistema Linux, tutti i processi in esecuzione vengono generalmente terminati o riattaccano. Quindi cosa fai se vuoi ancora mantenere i processi in esecuzione anche uscendo dalla shell/terminale? Qui è dove il comando nohup entra.

Comando Nohup

Nohup, abbreviazione di no hang up è un comando nei sistemi Linux che mantiene i processi in esecuzione anche dopo essere usciti dalla shell o dal terminale.

Nohup impedisce ai processi o ai lavori di ricevere il segnale SIGHUP (Signal Hang UP). Questo è un segnale che viene inviato a un processo alla chiusura o all'uscita dal terminale. In questa guida, diamo un'occhiata al comando nohup e dimostriamo come può essere utilizzato.

Sintassi del comando Nohup

La sintassi del comando Nohup è la seguente;

nohup command arguments

O

nohup options

Vediamo come entra in gioco il comando

Verifica della versione di Nohup

Puoi iniziare controllando la versione di Nohup usando la sintassi qui sotto

nohup --version

Risultato

Avvio di un processo utilizzando Nohup

Se vuoi mantenere in esecuzione i tuoi processi/lavori, fai precedere il comando con nohup come mostrato di seguito. I lavori continueranno a essere eseguiti nella shell e non verranno uccisi all'uscita dalla shell o dal terminale.

nohup ./hello.sh 

Risultato

Dall'output sopra, l'output del comando è stato salvato in nohup.out per verificare questa corsa,

cat nohup.out

Risultato

Inoltre, puoi scegliere di reindirizzare l'output a un file diverso come mostrato

nohup ./hello.sh > output.txt

Ancora una volta, per visualizzare il file eseguito

cat output.txt

Risultato

Per reindirizzare a un file e all'errore standard e all'output, utilizzare > filename 2>&1 attributo come mostrato

nohup ./hello.sh > myoutput.txt >2&1 

Risultato

Avvio di un processo in background utilizzando Nohup

Per avviare un processo in background, usa & simbolo alla fine del comando. In questo esempio, eseguiamo il ping di google.com e lo mandiamo in background.

nohup ping google.com &

Risultato

Per controllare il processo quando si riprende la shell, utilizzare pgrep comando come mostrato

pgrep -a ping

Risultato

Se vuoi interrompere o terminare il processo in esecuzione, usa kill comando seguito dall'ID del processo come mostrato

kill 2565

Risultato

Riepilogo

  1. Tutti i processi eseguiti utilizzando il comando nohup ignoreranno il segnale SIGHUP anche all'uscita dalla shell.
  2. Una volta che un lavoro viene avviato o eseguito utilizzando il comando nohup, stdin non sarà disponibile per l'utente.
  3. Per impostazione predefinita, nohup.out viene utilizzato come file predefinito per stdout e stderr.

Linux
  1. Comando Linux mv

  2. Linux du comando

  3. comando IP Linux

  4. comando cd di Linux

  5. Opzioni di comando nohup in Linux

Linux quale comando

Comando Data in Linux

Comando W in Linux

Al comando in Linux

Comando Nohup Linux con esempi

Comando Df in Linux