Qual é a diferença entre um trabalho e um processo?

41

Qual é a diferença entre um "trabalho" e um "processo"?

    
por Olivier Lalonde 20.11.2010 / 12:49

4 respostas

41

Um processo é qualquer programa em execução com seu próprio espaço de endereço.

Um job é um conceito usado pelo shell - qualquer programa iniciado interativamente e que não seja desanexado (ou seja, não um daemon) é um trabalho. Se você estiver executando um programa interativo, você pode pressionar Ctrl Z para suspendê-lo. Então você pode iniciá-lo de volta em primeiro plano (usando fg ) ou em segundo plano (usando bg ).

Enquanto o programa está suspenso ou em execução em segundo plano, você pode iniciar outro programa - você teria dois trabalhos em execução. Você também pode iniciar um programa sendo executado em segundo plano adicionando um "&" assim: program & . Esse programa se tornaria um trabalho em segundo plano. Para listar todos os trabalhos que você está executando, você pode usar jobs .

Para mais informações sobre empregos, veja esta seção da página man bash.

    
por 20.11.2010 / 13:06
29

O UNIX tem conceitos separados "process", "process group" e "session".

Cada shell obtido no login se torna o líder de sua própria nova sessão e grupo de processos, e define o grupo de processos de controle do terminal para si mesmo.

O shell cria um grupo de processos dentro da sessão atual para cada "job" lançado e coloca cada processo iniciado no grupo de processos apropriado. Por exemplo, ls | head é um pipeline de dois processos, que o shell considera um único trabalho, e pertencerá a um único grupo de processos novo.

Um processo é um segmento de execução (collection of) e outro contexto, como espaço de endereço e tabela de descritor de arquivo. Um processo pode iniciar outros processos; esses novos processos pertencerão ao mesmo grupo de processos que o pai, a menos que outra ação seja tomada. Cada processo também pode ter um "terminal de controle", que começa do mesmo modo que seu pai.

O shell tem o conceito de trabalhos "em primeiro plano" e trabalhos "em segundo plano". As tarefas em primeiro plano são grupos de processos com controle do terminal e as tarefas em segundo plano são grupos de processos sem controle do terminal.

Cada terminal possui um grupo de processos em primeiro plano. Ao trazer um trabalho para o primeiro plano, o shell o define como o grupo de processos de primeiro plano do terminal; ao colocar um trabalho em segundo plano, o shell configura o grupo de processos de primeiro plano do terminal para outro grupo de processos ou para ele mesmo.

Os processos podem ler e gravar em seu terminal de controle se estiverem no grupo de processos em primeiro plano. Caso contrário, eles receberão sinais SIGTTIN e SIGTTOU nas tentativas de ler e gravar no terminal, respectivamente. Por padrão, esses sinais suspendem o processo, embora a maioria dos shells mascarem SIGTTOU para que um trabalho em segundo plano possa gravar no terminal ininterruptamente.

    
por 20.11.2010 / 22:02
0

Na computação, um Job é uma unidade de trabalho ou unidade de execução (que realiza o trabalho). Um componente de um trabalho (como uma unidade de trabalho) é chamado de tarefa ou etapa (se sequencial, como em um fluxo de tarefas). Como uma unidade de execução, um trabalho pode ser identificado concretamente com um único processo, que pode, por sua vez, ter subprocessos (processos filhos; o processo correspondente ao trabalho sendo o processo pai) que executam as tarefas ou etapas que compõem o trabalho do trabalho; ou com um grupo de processos; ou com uma referência abstrata a um processo ou grupo de processos, como no controle de tarefas Unix.

Fonte

bons exemplos

    
por 24.03.2018 / 16:27
-1

As definições acima são muito técnicas, mas talvez o op queira um esclarecimento mais diário. Eu acho que um trabalho é um processo agendado. Quando lidamos com processos em geral, não há necessariamente a noção de cronograma, mas quando usamos a palavra "trabalho" sempre queremos dizer que ela está programada, ou repetitiva como um ciclo, é como um trabalhador.

    
por 26.04.2016 / 21:48