GNU/Linux >> Linux Esercitazione >  >> Linux

Come lavorare con il processo in primo piano e in background in Linux

Un concetto importante da comprendere quando si lavora con il processo Linux è qual è il primo piano e background processo e come controllarli. In Linux, se esegui programmi, verrà creato un processo con un ID univoco (PID ) e per impostazione predefinita, il processo viene eseguito in primo piano .

Prendiamo un semplice comando curl – quando invii una richiesta per scaricare un file zip su Internet, curva verrà eseguito come un primo piano processo e tutti gli output verranno visualizzati nel terminale.

Ci sono due importanti sequenze di tasti che devi comprendere prima di lavorare con lo sfondo e in primo piano processo.

  • CTRL+Z – Questa sequenza di tasti interromperà il processo in esecuzione.
  • CTRL+C – Questa sequenza di tasti interromperà il processo in esecuzione e libererà memoria nella RAM.

Processo Linux in primo piano

Un processo quando si avvia dal terminale per impostazione predefinita viene eseguito in primo piano processi. Il primo piano processo non ti consentirà di utilizzare il terminale a meno che il processo non sia completato. In questo caso, se hai bisogno di accedere nuovamente al tuo terminale, devi aprire una nuova finestra del terminale o interrompere il processo in esecuzione o ucciderlo.

È anche importante notare che qualsiasi processo creato tramite il terminale è collegato alla sessione del terminale e il processo verrà terminato una volta chiuso il terminale. Questo perché bash è il processo padre e qualsiasi comando che esegui nel terminale sarà il processo figlio di bash, quindi quando chiudi il processo padre del terminale (bash) terminerà automaticamente tutti i suoi processi figlio e i suoi.

Di seguito è riportato un esempio del processo in primo piano. Questo è solo un semplice comando di sospensione che restituirà la richiesta all'utente solo dopo che è stata completata.

$ sleep 10000

Ora ho poche opzioni per riprendere il controllo del prompt del terminale. O devo annullare o interrompere il processo o aprire una nuova scheda del terminale. Quando interrompi un processo in esecuzione premendo (CTRL+Z) otterrai un output come mostrato nell'immagine sottostante.

Per ottenere l'elenco dei lavori in esecuzione o interrotti, puoi eseguire il comando seguente.

$ jobs -l

Dall'immagine sopra, puoi vedere il comando lavori ti fornisce l'ID del processo , quale comando hai inviato, qual è lo stato di esso. Riceverai anche un ID lavoro per ogni processo che invii ( [1], [2] [3], ecc.).

Per avviare un lavoro che si trova nello stato interrotto o portare il lavoro in background in primo piano, eseguire il comando seguente.

$ fg %4     

Dove %4 denota l'ID lavoro che puoi ottenere dal comando "jobs -l".

Processo in background di Linux

Il processo in background esegue il processo in background e non assumerà il controllo del prompt del terminale. Puoi avviare una sessione e sei libero di usare il tuo terminale. Per inviare un comando come processo in background devi aggiungere & simbolo alla fine del comando.

$ sleep 50000 &

Esegui il comando dei lavori per ottenere l'elenco dei lavori.

$ jobs -l

Dall'immagine qui sotto puoi vedere Job ID [5] è assegnato al lavoro e & il simbolo indica che è stato inviato ed è in esecuzione come lavoro in background.

Puoi avviare qualsiasi lavoro interrotto in background direttamente eseguendo il comando seguente.

$ bg %2 

Dove %2 denota l'ID lavoro che puoi ottenere da "jobs -l comando ".

Questo è tutto per questo articolo. Se c'è qualche feedback o suggerimento lascialo nella casella dei commenti.


Linux
  1. Come avviare il comando Linux in background e scollegare il processo nel terminale

  2. Come rendere natalizio il tuo terminale e shell Linux

  3. Come gestire i lavori in background di Linux con il comando fg e bg

  4. Flatpak su Linux:cos'è e come installare app con esso

  5. Come acquisire le sessioni del terminale e l'output con il comando di script Linux

Come sospendere un processo e riprenderlo in un secondo momento in Linux

Come individuare e terminare un processo con il terminale Linux

Come lavorare con hardlink e softlink in Linux

Come installare e utilizzare Terminator Terminal in Linux

Come inviare processi in background su Linux

Come tracciare e tracciare un processo Linux