2010-04-27 13 views

risposta

5

I lavori sono processi avviati da una shell. La shell tiene traccia di questi in una tabella di lavoro. Il comando jobs mostra un elenco di processi in background attivi. Ottengono un numero di jobspec che non è il pid del processo. Comandi come fg usano l'id jobspec.

Nello spirito di esempio di Jürgen Hötzel:

find $HOME | sort & 
[1] 15317 
$ jobs 
[1]+ Running     find $HOME | sort & 
$ fg 
find $HOME | sort 
    C-c C-z 
[1]+ Stopped     find $HOME | sort 
$ bg 1 
[1]+ find $HOME | sort & 

Provate gli esempi da soli e guardare le pagine man.

+0

può essere spiegato con un esempio in unix – Suri

5

Un Process Group può essere considerato come un lavoro . Per esempio si crea un gruppo di processo in background in guscio:

$ find $HOME|sort & 
[1] 2668 

E si può vedere due processi come membri del nuovo gruppo di processi:

$ ps -p 2668 -o cmd,pgrp 
CMD       PGRP 
sort       2667 


$ ps -p "$(pgrep -d , -g 2667)" -o cmd,pgrp 
CMD       PGRP 
find /home/juergen   2667 
sort       2667 

È possibile può anche uccidere l'intero gruppo di processi/lavoro :

+0

Grazie, ho imparato alcune cose qui. –

+0

Molto ben spiegato, grazie. – Kais

0

Un lavoro consiste in più processi in esecuzione in serie o in parallelo. Un processo è un programma in esecuzione.

-1

lavoro è quando si desidera conoscere i processi avviati dalla shell corrente.

processo è quando si vuole sapere di un processo in esecuzione da qualsiasi shell o computer.

+0

"processo è quando vuoi sapere di un processo": questa non è una definizione .. – Kais

0

Penso che un lavoro sia un processo pianificato o un insieme di processi, un lavoro ha sempre la nozione di pianificazione, altrimenti potremmo chiamarlo un processo.

Problemi correlati