Se hai un'attività di lunga durata, non è sempre saggio aspettare che finisca. Voglio dire, perché tenere occupato il terminale per un comando particolare? In Linux, puoi inviare un comando o un processo in background in modo che il comando sia in esecuzione ma il terminale sia libero per eseguire altri comandi.
In questo tutorial, ti mostrerò un paio di modi per inviare un processo in background. Ti mostrerò anche come riportare i processi in background in primo piano.
Avvia un processo Linux in background direttamente
Se sai che il comando o il processo richiederà molto tempo, sarebbe meglio avviare il comando in background stesso.
Per eseguire un comando Linux in background, tutto ciò che devi fare è aggiungere la e commerciale (&) alla fine del comando, in questo modo:
your_command &
Prendiamo un semplice comando di sospensione bash e lo mandiamo in background.
sleep 60 &
Al termine del comando in background, dovresti vedere le informazioni a riguardo sul terminale.
[1]+ Done sleep 60
Invia un processo Linux in esecuzione in background
Se hai già eseguito un programma e poi ti sei reso conto che avresti dovuto eseguirlo in background, non preoccuparti. Puoi anche inviare un processo in esecuzione in background.
Quello che devi fare qui è usare Ctrl+Z per sospendere il processo in esecuzione e quindi utilizzare "bg ' (abbreviazione di background) per inviare il processo in background. Il processo sospeso verrà ora eseguito in background.
running_command
^z
bg
Facciamo lo stesso esempio di prima.
[email protected]:~$ sleep 60
^Z
[1]+ Stopped sleep 60
[email protected]:~$ bg
[1]+ sleep 60 &
Visualizza tutti i processi in esecuzione in background
Ora che sai come inviare i processi in background, potresti essere interessato a sapere quali comandi sono in esecuzione in background.
A tale scopo, puoi inserire questo comando nel terminale:
jobs
Mettiamo prima alcuni comandi in background.
firefox &
gedit &
vim &
Ora il comando jobs ti mostrerà tutti i lavori/processi/comandi in esecuzione in background in questo modo:
jobs
[1] Running firefox &
[2]- Running gedit &
[3]+ Stopped vim
Noti i numeri [1], [2] e [3] ecc? Questi sono gli ID lavoro. Noteresti anche il segno – e + su due dei comandi. Il segno + indica l'ultimo lavoro che hai eseguito o messo in primo piano. Il segno – indica il penultimo lavoro che hai eseguito o messo in primo piano.
Porta un processo in primo piano in Linux
Bene! Quindi hai imparato a eseguire comandi in background in Linux. Ma che ne dici di riportare in primo piano un processo in esecuzione in background?
Per inviare il comando in background, hai usato 'bg'. Per ripristinare il processo in background, usa il comando 'fg'.
fg
Ora, se usi semplicemente fg, porterà in primo piano l'ultimo processo nella coda dei lavori in background. Nel nostro esempio precedente, l'esecuzione di 'fg' riporterà l'editor Vim al terminale.
Se vuoi portare un certo processo in primo piano, devi specificare il suo ID lavoro. L'ID lavoro è il numero che vedi all'inizio di ogni riga nell'output del comando "lavori".
fg n
Dove n è l'ID del lavoro visualizzato nell'output dei lavori del comando.
Ecco fatto
Questo è stato veloce ma sufficiente per imparare alcune cose sull'esecuzione dei comandi in background in Linux. Consiglierei anche di imparare il comando nohup. Questo comando ti consente di eseguire comandi in background anche dopo esserti disconnesso dalla sessione.
Se hai domande o suggerimenti, lascia un commento qui sotto.