OK, então você usa linux e conhece o ‘top‘, item básico no repertório de qualquer sysadmin, que permite acompanhar algumas informações sobre a carga do sistema e processos. Essa ferramenta antiga e poderosa, é de uma idéia tão simples porem tão prática, que ganhou um termo para designar ferramentas semelhantes, ferramentas “top-like“.
Para se enquadrar em uma ferramenta top-like o candidato tem que:
Fiz uma lista com 16 ferramentas top-like disponíveis no Ubuntu 9.04. Enquanto fazia a pesquisa, encontrei pelo menos mais meia dúzia sem pacotes para o ubuntu, e se for considerar as que eu não encontrei esse número deve subir consideravelmente.
Os sistema Gnu/Linux permitem ao usuário/administrador a possibilidade de parar e retomar tarefas, bem como enviar tarefas para background ou foreground. Tomemos como exemplo o seguinte script:
#!/bin/bash echo "Iniciado " for ((i=1;i<=20;i++)) do sleep 1 done echo "Finalizado" exit 0 |
Ele simplesmente faz um for de 1 a 20 com um sleep de 1 seg. Isso faz com que entre a exibição de “Iniciado”, e a exibição de “Finalizado” se passe 20 segundos.
Aplique o modo de execução no arquivo e execute em um terminal:
pascal@workaholic:~$ chmod +x exemplo.1.sh
pascal@workaholic:~$ ./exemplo.1.sh
Como esperado, durante os próximos 20 segundos seu terminal estará inutilizado. Agora vamos tentar uma abordagem diferente:
Inicie uma tarefa e em seguida pare essa tarefa (Ctrl-Z):
pascal@workaholic:~$ ./exemplo.1.sh
Iniciado
^Z
[1]+ Stopped ./exemplo.1.sh
Exiba as tarefas:
pascal@workaholic:~$ jobs
[1]+ Stopped ./exemplo.1.sh
Agora reinicie a tarefa em background:
pascal@workaholic:~$ bg
[1]+ ./exemplo.1.sh &
Exiba novamente as tarefas:
pascal@workaholic:~$ jobs
[1]+ Running ./exemplo.1.sh &
Coloque a tarefa novamente em foreground:
pascal@workaholic:~$ fg
./exemplo.1.sh
Finalizado
Mágico não?
Como podemos ver, as teclas Ctrl-Z nos permite parar um script ou até um programa como o mcedit, top, etc. Depois você pode gerenciar a fila de jobs utilizando os comandos:
Um atalho para colocar um programa em background é utilizar o caractere & no final da linha de comando que chama o programa. Ex.
pascal@workaholic:~$ ./exemplo.1.sh &
Iniciado
[1] 13432
pascal@workaholic:~$ jobs
[1]+ Running ./exemplo.1.sh &
O gerenciamento de tarefas não foge muito disso, existem ainda alguns detalhes a serem observados e algumas lições a serem aprendidas, mas essas você aprende fazendo.
Afinal, tudo mastigado vira vomito!

