I comandi Nohup accettano un comando o un eseguibile come argomento. Una volta eseguito un comando con Nohup, ignora i segnali di appendiabiti (Sighup), che aiuta a mantenere un processo dopo aver chiuso la sessione di shell.
Ad esempio, se si esegue un comando su SSH, tutti i processi avviati nella sessione SSH si chiuderanno una volta che la sessione SSH muore. È possibile impedire che ciò accada utilizzando un multiplexer terminale come TMUX o schermo o utilizzare Nohup.
Come usare il comando Nohup
Per usare Nohup, passiamo il comando come argomento. La sintassi generale per il comando è:
nohup [comando] [args]
Come eseguire un comando con Nohup
Per eseguire un comando, come un ping, con Nohup, usa il comando:
Nohup ping linuxhint.com> /dev /null
Una volta eseguito il comando con Nohup, dovresti ottenere un output come:
Nohup: ignorare l'input e il reindirizzamento di Stderr a StDout
Per impostazione predefinita, Nohup esegue un processo in primo piano mentre reindirizza l'output a Nohup.File fuori. Il file si trova nella directory di lavoro corrente a meno che l'utente non abbia le autorizzazioni di scrittura in quella directory. In quel caso, il nohup.Il file out viene creato nella home directory dell'utente.
Per visualizzare il contenuto del nohup.File fuori, usa il comando Cat come:
Cat Nohup.TXT
Come usare Nohup con i processi di fondo
L'esecuzione di un processo di fondo è il modo più efficace per utilizzare il comando Nohup. L'esecuzione di un processo di fondo con Nohup ti consente di chiudere il processo genitore (shell) senza uccidere il processo.
Per fare ciò, usa l'ampa e dopo il comando come:
Nohup Sleep 300 &
Una volta eseguita il comando sopra, la shell lancerà il comando di sospensione in background e allega il sospiro di Ignora al processo.
Per visualizzare i processi in background, utilizzare il comando Jobs -L.
Come reindirizzare l'output Nohup in un file
Se non si specifica il file di output, NOHUP reindirizza l'output su un Nohup.File fuori. Puoi prevalere usando i simboli di reindirizzamento.
Ad esempio, per reindirizzare l'output del comando ping a ping.fuori, usa il comando:
Nohup ping linuxhint.com> ping.Out 2> & 1 &
L'aggiunta dei descrittori di file 1 e 2 consente l'output standard e il reindirizzamento degli errori standard al ping.File fuori.
È inoltre possibile scegliere file diversi per output standard ed errore standard. Come:
Nohup ping linuxhint.com 1> ping.fuori 2> ping.errare
Conclusione
Possiamo utilizzare il comando Nohup per impedire a un processo di terminare una volta terminato il processo genitore. Utilizzando i parametri di reindirizzamento, possiamo anche reindirizzare l'output da Nohup a un file personalizzato.