Conceito de Segundo Plano

No Linux existe o seguinte conceito: podemos colocar um processo demorado executando em segundo plano e continuar o trabalho sem ter que ficar esperando que o processo termine.

O que é um processo?

Quando é executado um comando, programa ou qualquer ação, são criados números que identificam o programa que está sendo executado; cada comando e programa têm um identificador específico que é único para ele. Isto é necessário pois o kernel precisa identificar o processo para executá-lo no processador.

O que é colocar o processo em segundo plano?

Colocar o processo em segundo plano significa que o kernel irá executar esse processo sem que haja a intervenção direta do usuário; por exemplo, uma compactação demorada pode ser colocada em segundo plano para finalizar sem ficar ocupando um terminal. O processo da compactação é desvinculado do terminal, deixando-o livre para executar outros comandos. Ao final da compactação, a mensagem de término de processo é exibida no terminal indicando que o processo terminou.

Como colocar um processo em segundo plano?

Para colocar um processo em segundo plano basta acrescentar o símbolo & ao final da linha do comando que deseja executar em segundo plano. Existe ainda uma segunda maneira de se fazer isso. Para tanto, você deve conhecer os seguintes comandos:

O comando ps é o comando que lista os processos ativos. Experimente digitar ps no seu terminal. Você verá uma tela com as seguinte características:

$ ps
  PID TTY          TIME CMD
 3116 tty2    00:00:00 bash
 7333 tty2    00:00:00 ps

Os números de PID irão mudar, não se preocupe. Esses números (PID) são os números dos processos que estão rodando. Neste exemplo, o processo que está em execução é o interpretador de comandos A segunda linha indica os dados do processo do comando ps que estava sendo executado naquele momento. Esses números de processo são os números utilizados pelos comandos bg e fg para, respectivamente, colocar um processo em segundo plano e voltar a um processo que está em segundo plano para o primeiro plano.

A sintaxe básica desses comandos é: bg numero_processo e fg numero_processo. Existe uma combinação de teclas que interrompe a execução de um processo que está rodando em foreground ou primeiro plano: digite Ctrl-z para suspender o processo e poder utilizar o comando ps seguido de bg.



[44] Abreviação de BackGround (Segundo Plano).

[45] Abreviação de ForeGround (Primeiro Plano).