Vi abbiamo spiegato cos'è un processo in background di Linux e come avviarlo correttamente. In questo articolo vi spiegheremo come funziona in questa modalità.
L'esecuzione di uno script in Linux è un compito, ma è necessario assicurarsi che funzioni correttamente subito dopo la chiusura del terminale. La chiusura del terminale avviene nel modo seguente: è necessario fare clic sulla croce che si trova nell'angolo superiore dello schermo; questo porta alla terminazione di tutti i processi in background. Esistono diversi metodi per salvarli nel caso in cui si perda la connessione con la shell interattiva
Primo: rimuovere la coda di lavoro dall'attività utilizzando disown
:
disown
Come nei casi precedenti, se ci sono più processi contemporanei in esecuzione, è necessario specificare il numero di quello relativo a cui verrà eseguita l'azione:
disown %1
Assicurarsi che l'attività non sia presente nell'elenco delle attività. Come fare. Utilizzare l'utilità jobs -l
. Per visualizzare l'intero elenco dei processi in esecuzione, si utilizza il comando:
ps aux
Metodo successivo: si salvano i processi in esecuzione con il comando nohup
. Questo comando dopo l'esecuzione eseguirà a sua volta un altro comando, tutti i segnali SIGHUP
saranno ignorati.
È possibile eseguire il comando in background in questo modo:
nohup command &
Come si può vedere nell'immagine precedente, l'output del comando verrà inviato a nohup.out
. La cosa più importante è che dopo il logout e la chiusura del terminale, il processo continuerà a funzionare. Esistono alcune utility che consentono di eseguire due o più sessioni contemporaneamente. In particolare, Screen
e Tmux
permettono di farlo.
Screen
o GNU Screen
è un multiplexer di terminale che consente di avviare una sessione di lavoro e di aprire un numero qualsiasi di finestre (terminali virtuali) al suo interno. I processi in esecuzione in questo programma funzionano anche se le loro finestre sono invisibili o il programma ha smesso di funzionare.Tmux
è un'alternativa più moderna a GNU Screen
. Tuttavia, le caratteristiche di Tmux
non sono fondamentalmente diverse: è possibile aprire molte finestre all'interno di una singola sessione nello stesso modo. Le attività in esecuzione in Tmux
continuano ad essere eseguite se il terminale viene chiuso.Abbiamo risolto questo problema, come potete vedere, tutto è elementare e semplice.