Metodi di pagamento Abuse

Lavorare nel processo di background di Linux

27.01.2023, 23:58

Vi abbiamo spiegato cos'è un processo in background di Linux e come avviarlo correttamente. In questo articolo vi spiegheremo come funziona in questa modalità.

Come funziona un processo in background

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.