next up previous contents
Next: Finalizando processos Up: Processos em Unix Previous: Visualizando processos em Unix   Sumário

Foreground e Background

Os processos podem ser executados de duas formas: em foreground (primeiro plano) ou background (segundo plano). Os processos executado em foreground são aqueles que necessitam de interação direta com o usuário, incluindo troca de informações. Os processo em background não necessitam desta interação com o usuário.

Muitas vezes é preciso passar um processo que está sendo executado em foreground para background e vice-versa. Numa sessão de transferência de arquivos entre máquinas remotas, a velocidade da linha de transmissão pode aumentar demasiadamente o tempo de transferência (horas, às vezes!). Neste caso, seria interessante passar o processo para segundo plano, liberando a shell para outras atividades do usuário.

A passagem de um processo de foreground para background é feita primeiro suspendendo o processo, utilizando o conjunto de teclas CTRL+z, seguido do comando bg, que envia o processo para segundo plano. Deve ficar claro que suspender a execução de um processo não significa finalizá-lo, apenas torná-lo temporariamente inativo.

A lista dos processos executados em background pode ser visualizada com o comando jobs, que mostra cada processo associado com um número de job. Caso o usuário necessite interagir novamente com o processo, deve utilizar o comando fg seguido de % número de job. Exemplo:

maquina:~$ jobs
[1]  - Running                       xemacs
[2]  + Suspended (tty output)        vi
maquina:~$ fg %2


next up previous contents
Next: Finalizando processos Up: Processos em Unix Previous: Visualizando processos em Unix   Sumário
Agostinho de M. Brito Jr. 2000-09-02