GNU/Linux >> Linux Esercitazione >  >> Linux

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

Nei sistemi Linux e Unix, un lavoro è definito come un'attività che è stata avviata e non è stata ancora completata. Ogni attività è fondamentalmente un programma in esecuzione che è un processo.

A ogni lavoro viene assegnato un ID univoco chiamato numero lavoro (ID lavoro). Possiamo eseguire i lavori in background senza alcun intervento da parte dell'utente e anche essere eseguiti in primo piano come lavori correnti.

In questo tutorial, impariamo i comandi fg e bg per gestire i lavori in Linux.

comando bg

I processi che sono stati interrotti da un segnale di interruzione possono essere continuati in background con il comando bg.

$ nautilus
^Z
[1]+ Stopped nautilus

Questo processo è stato interrotto con ctrl+z segnale di interruzione. I processi interrotti possono essere controllati con il comando jobs. Ma prima di controllare, creiamo un altro job e interrompiamolo con segnale di stop.

$ jedit
9:22:28 AM [main] [warning] jEdit: inifPLAF failed to set required l&f
9:22:29 AM [main] [warning] jEdit: inifPLAF failed to set required l&f
^Z
[2]+ Stopped jedit

$ jobs
[1]- Stopped nautilus
[2]+ Stopped jedit

Puoi vedere che lo stato dei lavori è interrotto. Il segno più (+) indica il lavoro corrente. Il segno meno (-) si riferisce al lavoro precedente. Ora, per eseguire il lavoro interrotto in background, utilizziamo il comando bg. Per impostazione predefinita, se non viene fornito alcun argomento, bg esegue il lavoro corrente in background.

$ bg
[2]+ jedit &
$ jobs
[1]+ Stopped nautilus
[2]- Running jedit &

Il comando bg può prendere il numero del lavoro come argomento. Il numero del lavoro è indicato tra parentesi quadre nell'output dei lavori.

Nell'esempio sopra, il numero di lavoro di nautilus è 1. Quindi ora utilizziamo questo numero di lavoro per eseguire il lavoro in background. Il % il segno è obbligatorio per indicare il numero del lavoro.

$ bg %1
[1]+ nautilus &

$ jobs
[1]- Running nautilus &
[2]+ Running jedit &

Il comando bg può anche fare riferimento a un lavoro con il suo nome. Ad esempio %String fa riferimento a un lavoro il cui nome inizia con la stringa specificata e %?String fa riferimento a un lavoro il cui nome contiene la stringa specificata.

Ad esempio, abbiamo due lavori interrotti.

$ jobs
[1]+ Stopped nautilus
[2]- Stopped jedit

$ bg %nau
[1]+ nautilus &

$ jobs
[1]- Running nautilus &
[2]+ Stopped jedit

$ bg %?ed
[2]+ jedit &

$ jobs
[1]- Running nautilus &
[2]+ Running jedit &

comando fg

Il comando fg è come il comando bg tranne per il fatto che invece di inviare un comando in background, lo esegue in primo piano e occupa il terminale corrente e attende l'uscita del processo.

# jobs
[1]- Stopped makewhatis
[2]+ Stopped vi

Senza alcun argomento, fg eseguirà il lavoro corrente in primo piano (vi in ​​questo caso).

# fg
vi

Poiché il comando è in esecuzione in primo piano, non recuperiamo il terminale fino all'uscita del comando. Quindi, il comando jobs ora mostrerà solo un lavoro poiché vi uscirà a quest'ora.

# jobs
[1]+ Stopped makewhatis

# fg %1
makewhatis

# jobs

Nessun lavoro rimanente. Come bg, %String e %?String funziona anche per fg.

# jobs
[1]- Stopped makewhatis
[2]+ Stopped vi

# fg %v
vi

# fg %?what
makewhatis

Conclusione

In questo tutorial, abbiamo imparato come controllare il lavoro usando i comandi fg e bg usando alcuni esempi. Spero che ti sia piaciuto e per favore lascia i tuoi suggerimenti nella sezione commenti qui sotto.


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

  2. Come utilizzare pipe e pipe con nome in Linux (con esempi)

  3. Comandi Linux:job, bg e fg

  4. Come gestire la cronologia dei comandi di Linux

  5. Come gestire i servizi Linux con il comando systemctl

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

Come installare e utilizzare il comando Ack in Linux con esempi

Come installare e utilizzare il comando fd in Linux

Come utilizzare il comando Jobs in Linux

Come creare e gestire nuovi utenti su Linux

Comando Linux crontab per creare e gestire i lavori Cron