Como não prender o terminal (shell)

Alguns comandos para Controle de Tarefas no Linux.

Solução rápida:

1
2
3
#Adicione & no final da linha do script

bundle exec jekyll serve &

É bem comum eu ter uma dúvida besta, procurar rapidinho a solução no Google, achar, aplicar e não guardar o comando porque “vai ser fácil achar de novo”. O tempo passa e a mesma dúvida volta, sendo que dessa vez passo meia hora buscando aquele específico link maravilhoso que me ajudou outrora.

Saber como continuar usando o terminal ainda que esteja rodando uma aplicação bloqueante é uma dessas coisas que me leva minutos de vida regoogleando por uma solução.

Aplicações bloqueantes são aquelas que prendem o terminal mostrando os logs com o que tá acontecendo enquanto você faz alterações e testes, por exemplo o Pelican e o Bundle. Quando isso acontece, as vezes, abro um novo terminal, maaaasssss é possível continuar vendo os logs e seguir o usando o mesmo shell.

Meu fluxo, geralmente, é assim:

  1. Adicionar & no final do script pra não prender o terminal;

    1
    
     bundle exec jekyll serve &
    
  2. Pressionar Enter para reaparecer o cursor;

  3. Fazer todas as modificações necessárias e quando quiser fechar a aplicação;

  4. Verificar as tarefas (job) que tão rodando no fundo (background);

    1
    
     jobs
    
  5. Selecionar a tarefa (job) que desejo trazer para primeiro plano;

    1
    
     fg [n. tarefa]
    
  6. Encerrar a tarefa (job).

A linguagem Bash é massa, então existem mais uns comandos para Controle de Tarefas. Dá uma olhadinha nesse capítulo 15 do Advanced Bash-Scripting Guide ou nesse post sobre Controle de Tarefas no Shell do Linux.

Ana Cecília Vieira Analista de dados especializada em qualidade de dados. Entusiasta em dados abertos, código aberto e comunidades autogestinadas como instrumento para transformação social. Embaixadora do programa 'Ciência de Dados para Inovação Cívica' da Open Knowledge Brasil e podcaster no Pizza de Dados.

-----

Leia também: