Immaginate se un processo critico è in esecuzione sul vostro sistema e richiede molto tempo. Improvvisamente è necessario uscire dal sistema. Se ti disconnetti, i tuoi processi si fermeranno e sicuramente vorrai evitarlo. Se si desidera che il processo in esecuzione continui senza alcuna interruzione, è necessario il comando nohup.

Nohup (sta per no hangup) è un comando che ignora il segnale HUP. Ci si potrebbe chiedere che cosa il segnale HUP è., È fondamentalmente un segnale che viene consegnato a un processo quando la sua shell associata viene terminata. Di solito, quando ci disconnettiamo, tutti i programmi e i processi in esecuzione vengono bloccati o fermati. 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 al fine di rendere il programma eseguito anche dopo il log out. Con nohup, non sarà più necessario effettuare il login per un lungo periodo di tempo solo per attendere il completamento del processo.,

In questo articolo, spiegheremo come utilizzare il comando Nohup in diversi scenari in Linux.,garding nohup di comando, utilizzare il seguente comando:

$ nohup –help

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

$ nohup –version

Avviare un processo che utilizza Nohup

Se si desidera mantenere un comando o di un processo in esecuzione anche se si esce dal guscio, usare nohup seguito da il comando da eseguire:

$ nohup comando

una Volta che si esegue il comando di cui sopra, tutti gli output, insieme con i messaggi di errore, verrà aggiunto alla nohup.,out file nella directory Home o nella directory corrente. Ora, se la shell è chiusa o si disconnette, il comando sopra eseguito non verrà terminato.

Reindirizza l’output a file diversi

Per impostazione predefinita, l’output del comando nouhup viene aggiunto al nohup.fuori file. Per reindirizzare questo output a qualche altro file, usa> redirector operator seguito dal nome del file specifico. Ad esempio, abbiamo usato il seguente comando per salvare l’output del comando nohup in un nuovo file denominato “myscript.sh”.

su sudo nohup ./ mn.,sh > myscipt.sh &

Avviare un processo in background utilizzando Nohup

Per avviare e mettere il processo in background, sarà necessario utilizzare il nohup come segue:

$ nohup comando &

& simbolo indica alla shell di eseguire il comando in background. È simile al comando nohup precedente, tranne che quando la sessione termina, ritorna immediatamente al prompt della shell. Per riportarlo alla ribalta, utilizzare il comando “fg”.,

L’output di tutti i comandi eseguiti verrà aggiunto al nohup.fuori file. È possibile visualizzare questo file utilizzando il comando cat nohup nel Terminale. Il numero 80132 nella schermata precedente indica il numero di identificazione del processo (PID) del processo in esecuzione in background.

Avviare più processi in background utilizzando Nohup

È possibile eseguire più comandi in background utilizzando il comando nohup. Nell’esempio seguente, i comandi mkdir, ping e ls vengono eseguiti in background utilizzando 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

Potete trovare 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 Ping in esecuzione in background, usa questo comando:

p pgrep –a ping

Elencherà tutti i processi associati al comando Ping.,

Ora per terminare il processo Ping in esecuzione in background, utilizzare il comando kill come segue: kill kill -9 80928quindi, questa è stata la breve introduzione del comando nohup in Linux. Il comando Nohup viene utilizzato per impedire 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 essere completati.