Eseguire i comandi Linux in background e in primo piano

postato in: Articles | 0

Se hai un’attività di lunga durata, non è sempre saggio aspettare che finisca. Voglio dire, perché tenere il terminale occupato per un particolare comando? In Linux, è possibile inviare un comando o un processo in background in modo che il comando sia in esecuzione, ma il terminale sarà libero di 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 direttamente un processo Linux in background

Se sai che il comando o il processo richiederà molto tempo, sarebbe un’idea migliore avviare il comando in background stesso.

Per eseguire un comando Linux in background, tutto ciò che devi fare è aggiungere e commerciale (&) alla fine del comando, in questo modo:

your_command &

Prendiamo un semplice comando bash sleep e lo inviamo in background.

sleep 60 &

Quando il comando termina in background, dovresti vedere le informazioni a riguardo sul terminale.,

+ Done sleep 60

Invia un processo Linux in esecuzione a background

Se hai già eseguito un programma e poi ti sei reso conto che avresti dovuto eseguirlo in background, non preoccuparti. È possibile inviare un processo in esecuzione a sfondo pure.

Quello che devi fare qui è usare Ctrl+Z per sospendere il processo in esecuzione e quindi usare ‘bg‘ (abbreviazione di background) per inviare il processo in background. Il processo sospeso verrà ora eseguito in background.

running_command^zbg

Prendiamo lo stesso esempio di prima.,

abhishek@linuxhandbook:~$ sleep 60^Z+ Stopped sleep 60abhishek@linuxhandbook:~$ bg+ sleep 60 &

Vedi 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 questo 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 Running firefox &- Running gedit &+ Stopped vim

Noti i numeri e così via?, Questi sono gli ID del lavoro. Si noterebbe anche il segno – e + su due dei comandi. Il segno + indica l’ultimo lavoro eseguito o in primo piano. Il segno-indica il penultimo lavoro eseguito o in primo piano.

Porta un processo in primo piano in Linux

Va bene! Quindi hai imparato a eseguire comandi in background in Linux. Ma che dire di portare di nuovo un processo in esecuzione in background in primo piano?

Per inviare il comando in background, hai usato ‘bg’. Per riportare il processo in background, utilizzare il comando ‘fg’.,

fg

Ora se usi semplicemente fg, porterà l’ultimo processo nella coda dei lavori in background in primo piano. Nel nostro esempio precedente, l’esecuzione di ‘ fg ‘ riporterà Vim editor al terminale.

Se si desidera portare un determinato processo in primo piano, è necessario 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 di comando.,

Questo è tutto

Questo è stato veloce, ma abbastanza per imparare alcune cose sull’esecuzione di comandi in background in Linux. Consiglierei anche di imparare il comando nohup. Questo comando consente di eseguire comandi in background anche dopo il logout dalla sessione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *