Controle de Processos©2002 FABRICIO FERRARI

Outra característica de operação bastante útil está relacionada ao caracter &. Lembre-se que o Linux, sendo um sabor de UNIX, é multiusuário e multitarefa. Isso significa que vários usuários podem estar usando o mesmo computador e executando mais de uma tarefa ao mesmo tempo, com os recursos compartilhados. Assim, se desejássemos colocar um determinado programa para ser executado em segundo plano, anexaríamos o caracter & depois do comando. Imagine que um programa seu chamado chuva levará dias executando e você não quer esperar que ele termine ou precisa continuar trabalhando. Bastaria executá-lo como

$ chuva &

[1] 925

e o shell o colocará em segundo plano, informando a ordem dentre os seus processos ([1]) e a ordem geral do processo (925). O processamento em segundo plano é um recurso poderoso quando bem utilizado, permitindo que preencha-se o tempo ocioso dos computadores, entretanto lembre-se que se o programa não terminar por si próprio ficará rodando até que seja explicitamente morto, como no caso de uma reinicialização ou através do comando kill[*]. Uma maneira alternativa de colocar um programa já iniciado em segundo plano é através da seqüência de teclas \fbox{\sf Ctrl}+ \fbox{\sf z}, ou

$ chuva

\fbox{\sf Ctrl}+ \fbox{\sf z}

Suspended

$ bg

[1] chuva &

pois quando \fbox{\sf Ctrl}+ \fbox{\sf z} é pressionado o programa é suspenso até que a ordem bg (de background ou segundo plano) faz com que sua execução continue em segundo plano, exatamente de onde tinha parado quando o shell suspendeu-o, sem nenhuma alteração de seus dados ou parâmetros.

Outra utilidade deste recurso consiste em suspender um aplicativo, realizar outra tarefa e depois continuar executando-o. No exemplo anterior

$ chuva

\fbox{\sf Ctrl}+ \fbox{\sf z}

Suspended

$ sol

sol: Command not found.

$ fg

chuva

aqui a ordem fg serve para recolocar o último aplicativo que foi para segundo plano (bg) novamente em primeiro plano (fg de foreground). Se há vários processos em segundo plano, é possível identificá-los antecedendo o número do processo por %, isto é fg %1, neste caso.

leon 2008-08-19