Cos'è un processo in background?
Un processo in background è un processo/comando che viene avviato da un terminale e viene eseguito in background , senza interazione da parte dell'utente .
Alcuni comandi in Linux richiedono tempo. Per non perdere tempo quando dobbiamo usare tali comandi, possiamo metterli in background del terminale e continuare il nostro lavoro. Molto spesso questo accade quando siamo collegati al terminale tramite SSH e non vogliamo aprire altre dieci finestre non necessarie.
In questo articolo parleremo dei processi in background in Linux e ti mostreremo come avviare un comando in background e come mantenere il processo in esecuzione dopo la chiusura della sessione della shell.
Cos'è lo strumento schermo?
Comando schermo Linux è un comando molto utile che offre la possibilità di utilizzare più finestre di shell (sessioni) da una singola sessione SSH. Quando la sessione viene disconnessa o si verifica un'interruzione della rete, il processo viene avviato in una schermata la sessione verrà comunque eseguita e potrai ricollegarti allo schermo sessione in qualsiasi momento.
Come installare ed eseguire lo schermo?
Per prima cosa installeremo screen sulla nostra distribuzione.
# Install on Ubuntu \ Debian
sudo apt-get install screen
# Install on FreeBSD
pkg install screen
# Install on Arch Linux
sudo pacman -S screen
# Install on RHEL \ CentOS
yum install screen
# Install on Open Suse
zypper install screen
Code language: Bash (bash)
Per utilizzare il comando dobbiamo scrivere semplicemente “schermo ", e abbiamo l'opportunità di aggiungere un nome del processo che creerà un "nome schermo “
# Create a new instance
screen -S test
Code language: PHP (php)
Avrai una nuova finestra come questa
Ora puoi eseguire lo script o il comando o il processo di cui hai bisogno all'interno di questa finestra, per esempio eseguiremo il comando in alto
# Run top command
top
Code language: PHP (php)
Ora per lasciare la parte superiore aperta del nostro schermo e tornare al terminale dobbiamo premere CTRL + A e dopo la lettera D .
Ma aspetta, come possiamo vedere lo stato della nostra schermata di test in esecuzione con il comando in alto? Facile basta digitare screen -ls :
# Check current screen state
screen -ls
Code language: PHP (php)
Puoi vedere che abbiamo una sessione dello schermo chiamata test, siamo staccati dalla sessione ma il processo funziona ancora.
Per ricollegarsi a una schermata, utilizzare il comando seguente, sostituendo il numero sottostante con il proprio ID processo. In questo esempio il numero è 65735
# Reattach to screen session
screen -r 65735
Code language: PHP (php)
Per uscire e distruggere la sessione possiamo usare exit comando all'interno della sessione.
Se vogliamo possiamo terminare il processo in remoto usando l'id come in questo esempio
# Kill process 65735
kill 65735
Code language: PHP (php)
In conclusione, possiamo dire che il comando “schermo” è facile da usare e da ricordare, è valido in quasi tutte le distribuzioni e soprattutto è affidabile.