Um recurso muito bacana do shell, é a possibilidade de você alternar entre
vários programas usando um único terminal. Você pode de forma rápida e eficaz
usando somente um terminal abrir um player de mp3, copiar arquivos grandes,
navegar em ftp baixar músicas e ainda editar os seus arquivos.
Para podermos fazer isso com segurança e não deixar que vire um aborrecimento,
é necessário entender o que significa background e foreground.
Background é quando você "joga" ou "coloca" um processo que está rodando em
sua maquina para continuar rodando "escondido" até o momento que você o
invoque novamente para satisfazer sua vontade. O ato de chamar de volta um
processo que você mandou para background é exatamente o foreground, ou seja,
recuperar ou trazer para a frente um processo que estava rodando lá no fundo
ou escondido. Mas como fazer isso com uma shell?
Digamos que você queira executar todas as musicas uma por uma de uma pasta de
música pelo terminal com o comando
$mpg123 *
não poderá fazer mais nada com ele, pois o mesmo está ocupado devido ao
programa que está rodando neste exato momento, como pode ver na figura abaixo.
É ai que entra o background, para
mandar o programa e liberar logo em seguida o terminal para você
continuar usando-o, basta fazer o seguinte:
$mpg123 musica.mp3 &
Agora sim, o seu processo está rodando em backgroun. Quer ver? Digite "$jobs"
no terminal para ver o processo que está rodando no fundo. Agora vamos abrir
outro programa e manda-lo para background
$vi arquivo.txt &
se você digitar jobs verá como os programas se encontram agora.
O mpg123 está executando a musica neste momento (acredito que esteja tocando no
seu computador agora) e o editor vi está parado na espera de chama-lo de
volta para que possa editar calmamente o seu arquivo. Para chamar de volta o
editor vi basta digitar o "$fg" seguido do numero do processo que é o
número que se encontra entre os cochetes.
$ fg 2
Pronto, temos o editor de volta e você pode usa-lo normalmente. A música que
está tocando você não gosta, então vamos troca-la. Para isso teremos que
trazer do background para o foreground pular a música e logo em seguida manda-la
de volta para background, deixando o terminal livre novamente, no shell faremos
assim:
$fg
^C e ^Z
$bg
Ufa!!! :P
Calma que vou explicar. No momento só temos um processo em background que é
justamente o "mpg123", quando temos somente um processo em bg basta um
"$fg" para traze-lo de volta. Com o ^C pulamos para a proxima
música e com ^Z pausamos o processo que logo em seguida será envia
novamente para background com o comando "$bg".
Se tivessemos mais de um processo em background, era só usar o número
correspondente a cada um (entre conchetes) para chamar o processo em
específico. Devo deixar bem claro que certos programas que abrem em modo
gráficos com o uso de algum gerenciador de janelas não funcionam. É o caso do
mplayer e do mozilla.
Na verdade a intenção é mostrar como usar, com um pouco de prática em breve
você estará fazendo um uso bem melhor de uma shell aberta, seja em modo gráfico
ou modo texto, valeu.
Franklin Anderson de Oliveira Souza <[email protected]> -
Merovigiam
É garantida a permissão para copiar, distribuir e/ou modificar este documento
sobre os termos da GNU Free Documentation Licence. 2004