Come usare Nohup in Linux

Come usare Nohup in Linux
Immagina se un processo critico è in esecuzione sul tuo sistema e richiede molto tempo. All'improvviso devi disconnettersi dal tuo sistema. Se ti disconnetti, i tuoi processi si fermeranno e sicuramente vorrai evitarlo. Se vuoi che il tuo processo di esecuzione continui senza alcuna interruzione, allora hai bisogno di comando Nohup.

Nohup (sta per nessun attacco) è un comando che ignora il segnale HUP. Potresti chiederti quale sia il segnale HUP. È fondamentalmente un segnale che viene consegnato a un processo quando viene terminata la shell associata. Di solito, quando ci disconttiamo, tutti i programmi e i processi in esecuzione sono appendiali o si fermano. Se vogliamo continuare a eseguire il processo anche dopo il logout o la disconnessione dalla shell corrente, possiamo usare il comando Nohup. Rende i processi immuni ai segnali HUP per far funzionare il programma anche dopo l'iscrizione. Con Nohup, non dovrai più accedere a lungo solo per attendere il completamento del processo.

In questo articolo, spiegheremo come utilizzare il comando Nohup in diversi scenari in Linux.

Sintassi del comando Nohup

Per utilizzare il comando Nohup, la sintassi è:

Argomenti di comando $ nohup

O

Opzioni $ nohup

Per trovare l'aiuto per quanto riguarda il comando Nohup, utilizzare il comando seguente:

$ nohup - -help

Per trovare le informazioni sulla versione di Nohup, utilizzare il seguente comando:

$ nohup -Version

Avvia un processo utilizzando Nohup

Se si desidera mantenere un comando o un processo in esecuzione anche se esci dalla shell, usa il nohup seguito dal comando per eseguire:

comando $ nohup

Una volta eseguito il comando sopra, tutto l'output, insieme ai messaggi di errore, verrà aggiunto al Nohup.File fuori nella directory home o nella directory corrente. Ora, se la shell è chiusa o si disconnette, il comando sopra eseguito non verrà terminato.

Reindirizzare l'output a un file diverso

Per impostazione predefinita, l'output del comando nouhup viene aggiunto al nohup.File fuori. Per reindirizzare questo output in qualche altro file, utilizzare> operatore di reindirizzamento seguito dal nome del file specifico. Ad esempio, abbiamo utilizzato il seguente comando per salvare l'output di Nohup comando in un nuovo file chiamato "MyScript.sh".

$ sudo nohup ./Mn.sh> myScipt.sh &

Avviare un processo in background usando Nohup

Per iniziare e mettere il processo in background, dovrai utilizzare il Nohup come segue:

comando $ nohup e

IL E Il simbolo dice alla shell di eseguire il comando in background. È simile al comando NOHUP sopra, tranne per il fatto che quando la sessione termina, ritorna immediatamente al prompt della shell. Per riportarlo in primo piano, usa il comando "FG".

L'output di tutti i comandi eseguiti verrà aggiunto al Nohup.File fuori. È possibile visualizzare questo file utilizzando il comando Cat Nohup nel terminale. Il numero 80132 Nella schermata sopra indica il numero di identificazione del processo (PID) del processo in esecuzione in background.

Avvia più processi in background usando Nohup

È possibile eseguire più comandi in background utilizzando il comando Nohup. Nel seguente esempio, i comandi MKDIR, PING e LS vengono eseguiti in background usando il comando Nohup.

$ nohup bash -c 'mkdir file &&
ping -c 1 Google.com && ls '> output.TXT

Terminare il processo in esecuzione in background

Per terminare un processo in esecuzione in background, utilizzare il comando Kill come segue:

$ kill -9 pid

Troverai il PID di un processo quando si utilizza il Nohup con "&". Un altro modo per trovare PID è attraverso il comando pgrep -a. Ad esempio, se hai eseguito il comando ping con Nohup, continuerà a funzionare in background anche se chiudi la shell. Ora in questo caso, per trovare il PID di un processo di ping in esecuzione in background, usa questo comando:

$ pgrep -a ping

Elencherà tutti i processi associati al comando ping.

Ora per terminare il processo di ping in esecuzione in background, usa il comando kill come segue: $ kill -9 80928so, questa è stata la breve introduzione del comando Nohup in Linux. Il comando NOHUP viene utilizzato per evitare che un processo importante venga terminato quando si disconnette o si chiude la sessione. Aiuta molto quando si esegue un processo, in particolare gli script che richiedono molto tempo per completare.