GNU/Linux >> Linux Esercitazione >  >> Linux

Comprendere i comandi di controllo del lavoro in Linux:bg, fg e CTRL+Z

Che lavoro fa in Linux

Un lavoro è un processo gestito dalla shell. A ogni lavoro viene assegnato un ID lavoro sequenziale. Poiché un lavoro è un processo, ogni lavoro ha un PID associato. Esistono tre tipi di stati dei lavori:
1. In primo piano :Quando si immette un comando in una finestra di terminale, il comando occupa quella finestra di terminale fino al completamento. Questo è un lavoro in primo piano.
2. Sfondo :Quando si immette un simbolo e commerciale (&) alla fine di una riga di comando, il comando viene eseguito senza occupare la finestra del terminale. Il prompt della shell viene visualizzato immediatamente dopo aver premuto Invio. Questo è un esempio di lavoro in background.
3. Interrotto :se premi Control + Z per un lavoro in primo piano o inserisci il comando stop per un lavoro in background, il lavoro si interrompe. Questo lavoro è chiamato lavoro interrotto.

Nota :Ad eccezione della shell Bourne, le altre shell supportano il controllo del lavoro.

Comandi di controllo del lavoro

I comandi di controllo dei lavori consentono di posizionare i lavori in primo piano o in background e di avviare o interrompere i lavori. La tabella descrive i comandi di controllo dei lavori.

Opzione Descrizione
lavori Elenca tutti i lavori
bg %n Posiziona il lavoro corrente o specificato in background, dove n è l'ID lavoro
fg %n Porta in primo piano il lavoro corrente o specificato, dove n è l'ID lavoro
Control-Z Interrompe il lavoro in primo piano e lo pone in background come lavoro interrotto
Nota :i comandi di controllo dei lavori consentono di eseguire e gestire più lavori all'interno di una shell. Tuttavia, è possibile utilizzare i comandi di controllo del lavoro solo nella shell in cui è stato avviato il lavoro.

Esecuzione di un lavoro in background

Per eseguire un lavoro in background, devi inserire il comando che vuoi eseguire, seguito da una e commerciale (&) simbolo alla fine della riga di comando. Ad esempio, esegui il comando sleep in background.

$ sleep 100 & 
[1] 1302
$

La shell restituisce l'ID lavoro, tra parentesi, che assegna al comando e al PID associato. Con l'ID lavoro, puoi utilizzare i comandi di controllo del lavoro per gestire il lavoro mentre il kernel utilizza i PID per gestire i lavori.

Quando un lavoro in background è completo e premi Invio, la shell visualizza un messaggio che indica che il lavoro è terminato.

[1] + Done         sleep 100 &
$

Gestione dei lavori in background

Puoi utilizzare i lavori comando per elencare i lavori attualmente in esecuzione o sospesi in background.

$ jobs
[1]+  Running                 sleep 100 &

Puoi usare il comando fg per portare un lavoro in background in primo piano.

$ fg % 1
sleep 100
Nota :il lavoro in primo piano occupa la shell finché il lavoro non viene completato, sospeso o interrotto e posizionato in background.

Puoi usare "Control+Z chiavi e bg comando per riportare un lavoro in background. I tasti Control+Z sospendono il lavoro e lo mettono in background come lavoro interrotto. Il comando bg esegue il lavoro in background. Ad esempio:
1. Usando CTRL+Z

$ sleep 100
^Z
[1]+  Stopped                 sleep 100
$ jobs
[1]+  Stopped                 sleep 100

2. Usando bg

$ bg % 1
[1]+ sleep 100 &
$ jobs
[1]+  Running                 sleep 100 &
Nota :quando metti un lavoro interrotto in primo piano o in background, il lavoro si riavvia.


Linux
  1. Comprensione delle diverse classificazioni dei comandi della shell e del loro utilizzo in Linux

  2. Comprendere i comandi di spegnimento, spegnimento, arresto e riavvio in Linux

  3. Comandi Linux - Panoramica ed esempi

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

  5. 5 modi per eseguire comandi UNIX/Linux (e script della shell) in background

Come eseguire i comandi Linux in background

Comprendere la differenza tra il comando sudo e su su Linux

Cerca, studia e fai pratica con i comandi Linux al volo usando Tldr++

I 40 comandi utili del server Linux per principianti e professionisti

Comprendere il comando uname in Linux

Comprendere il comando dell'ora in Linux