GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare il comando Jobs in Linux

Il comando jobs in Linux consente all'utente di interagire direttamente con i processi nella shell corrente.

I lavori hanno tre possibili stati in Linux:in primo piano, in background e interrotto.

Cosa significa? Ti spiegherò di più tra un po'. Per prima cosa diamo un'occhiata ad alcuni degli strumenti integrati nel comando Lavori.

Job Control ha diverse funzioni. Ciascuno può essere eseguito in modo indipendente. Ecco una tabella dei comandi relativi a Job Control.

Comando Descrizione
lavori Elenca i lavori nella shell corrente
bg %n Invia processo in background
fg %n Porta il processo in primo piano

Nella tabella, n rappresenta il numero dell'ID lavoro corrispondente.

Comprendere il controllo dei lavori in Linux

Che cos'è esattamente un lavoro comunque? Lavori, processi e attività sono parole spesso usate in modo intercambiabile.

In realtà ci sono alcune piccole differenze che sono importanti per chiarezza.

La differenza può essere ridotta a quale entità gestisce i compiti. Gli utenti possiedono i lavori, mentre il kernel possiede i processi.

In Linux, un lavoro può essere un singolo processo o può avere molti figli o sottoprocessi.

Un esempio di ciò potrebbe essere un lavoro che presenta diversi comandi in pipe come questo:

cat file1 | sort | uniq

Parizza l'output del file e ordina per valore uniq usando la combinazione dei comandi sort e uniq.

Nel personal computer, il sistema operativo gestisce automaticamente la maggior parte dei processi. Questo è solitamente ottimizzato per le esigenze del sistema o la priorità data a una determinata attività. Questi processi vengono completati dal kernel e ricevono un ID processo (PID).

Come controllare i lavori in Linux

Quando apri una nuova shell, hai il potere di creare i tuoi lavori. In effetti, questo è ciò che accade quando inserisci un comando (o una serie di comandi) in un terminale.

A livello di utente:da una shell, puoi inviare manualmente i lavori per lavorare in background, portarli in primo piano o sospenderli (usando Ctrl+z).

Quindi, mettiamo in pratica ciò che hai imparato finora con alcuni esempi.

Esempio 1:inviare lavori in background

Inviare un lavoro per lavorare in background è facile. Devi solo aggiungere il tuo comando con un & simbolo (e commerciale).

[email protected]:~$ nano Linux_Handbook &
[1] 2860

Puoi vedere che questo comando restituisce il numero del lavoro tra parentesi. Il numero seguente è l'ID del processo utilizzato dal kernel.

Esempio 2:Visualizza lavori

Se hai provato a digitare il comando jobs, potresti essere confuso dal fatto che non sia successo nulla. Questo perché non c'erano lavori attivi nella shell. Ora che hai un lavoro in esecuzione, puoi eseguire correttamente il comando jobs.

[email protected]:~$ jobs
[1]+  Stopped                 nano Linux_Handbook

Il numero PID non è elencato qui, ma non ne hai bisogno. Puoi controllare i lavori utilizzando l'ID lavoro specifico dell'utente/della shell.

Esempio 3:portare i lavori in primo piano

Puoi utilizzare quell'ID lavoro per portare la tua istanza di nano in primo piano.

[email protected]:~$ fg %1

Se hai seguito, questo dovrebbe portarti in Nano con il tuo file chiamato Linux Handbook.

Esempio 4:interrompere un lavoro con Ctrl+z

È possibile interrompere i lavori aperti utilizzando Ctrl+z. Ecco uno screenshot che mostra come usarlo con la parte superiore.

Nello screencast, puoi guardarmi aprire in alto, usare Ctrl+z per sospenderlo, visualizzarlo nell'elenco dei miei lavori e quindi riportarlo in primo piano prima di chiuderlo.

Esempio 5:eseguire lavori in background utilizzando bg

Mentre puoi inviare lavori in background con il simbolo &, è sempre bene avere un'alternativa. Nello screencast, mi hai visto interrompere il lavoro usando ctrl+z. Ho riportato il lavoro nella shell e in primo piano con fg %n comando. Puoi fare la stessa cosa usando bg .

Userò un'applicazione GUI solo per cambiare le cose. Potresti aver notato in passato che quando apri una GUI dal terminale che se chiudi il terminale, anche la GUI si chiuderà. Si spera che questo articolo ti abbia chiarito il motivo per cui ciò accade.

Quindi, usiamo Gedit. Farò quanto segue:

  • Avvia Gedit
  • Torna alla shell e Ctrl+z
  • Invialo allo Sfondo da eseguire usando bg
  • Controlla il mio elenco di lavori per verificare che sia in esecuzione
  • Torna in primo piano e invia un interrupt di sistema utilizzando Ctrl+c per terminarlo
[email protected]:~$ gedit
^Z
[1]+  Stopped                 gedit
[email protected]:~$ bg %1
[1]+ gedit &
[email protected]:~$ jobs
[1]+  Stopped                 gedit
[email protected]:~$ fg %1
gedit
^C

Suggerimento bonus sui lavori di terminazione in Linux

Molti di noi sono abituati a usare ctrl+c per terminare i lavori in una shell. C'è un altro modo per farlo che incorporare la tua nuova conoscenza del controllo del lavoro.

[email protected]:~$ fg %1
gedit
^Z
[1]+  Stopped                 gedit
[email protected]:~$ kill %1

Esatto, il comando kill può essere utilizzato insieme all'ID lavoro anche per terminare un lavoro.

Conclusione

L'apprendimento della riga di comando di Linux ci avvicina al funzionamento interno del nostro sistema operativo preferito. Il controllo dei lavori di apprendimento ci dà la possibilità di gestire più lavori contemporaneamente.

Spero che tu abbia trovato qualcosa di nuovo da esplorare con questo articolo. Se ti è piaciuto, faccelo sapere nella sezione commenti qui sotto o usa i link per condividere sui social media.


Linux
  1. Come usare il comando Su in Linux

  2. Come utilizzare il comando dello schermo di Linux

  3. Come usare il comando ldconfig in Linux

  4. Come usare il comando ipset in Linux

  5. job Opzioni di comando in Linux

Come utilizzare il comando sysctl in Linux

Come utilizzare il comando di arresto di Linux

Come usare grep in Linux

Come utilizzare il comando Mkdir su Linux

Come usare il comando jobs in Linux

Come usare il comando schermo in Linux