Para que servem os comandos bg e fg?
No shell do Linux, ao rodar um comando, por padrão ele ocupa o terminal até terminar. Isso pode ser um problema quando um comando demora para executar. Os comandos bg (background) e fg (foreground) servem para gerenciar processos suspensos, permitindo alternar entre primeiro plano (ativo no terminal) e segundo plano (executando “ao fundo”, liberando o terminal).
- bg: envia processos suspensos para execução em segundo plano, liberando o prompt para novas tarefas.
- fg: traz processos em segundo plano de volta ao primeiro plano, permitindo interagir (ou visualizar a saída) com eles diretamente.

Como usar processos em segundo plano no terminal?
Como padrão, ao rodar:
./script_longo.sh
O terminal “fica preso” ao script até ele terminar.
Executando diretamente em segundo plano
Basta adicionar um & ao final:
./script_longo.sh &
Com isso, o processo começa já no segundo plano, e você ganha o prompt de volta para outros comandos.
Suspendendo processos para gerenciar com bg/fg
Se uma tarefa já está rodando, pressione Ctrl + Z
Isso INVERTE o processo, suspendendo sua execução (o shell informa algo como [1]+ Stopped ./script_longo.sh).
Usando bg
O comando bg retoma processos que estão suspensos (parados), colocando-os em execução no segundo plano.
bg
Caso haja mais de um trabalho suspenso, você pode especificar o número do job:
bg %2
Usando fg
O comando fg traz processos rodando em segundo plano (ou suspensos) de volta ao primeiro plano.
fg
Se houver múltiplos jobs:
fg %2
Assim, o comando identificado como “job 2” volta para ser o processo em foco no terminal.
Como visualizar os processos em bg disponíveis? Comando jobs
Use o comando:
jobs
Ele lista os processos controlados pelo shell, mostrando:
- [1]+ Running ./script_longo.sh &
- [2]- Stopped ./outro_comando.sh
Você pode usar o número exibido para especificar qual processo o bg ou fg deve manipular.
Exemplo prático de uso
find / -name “*.pdf”
(Aguarde, ou pressione Ctrl + Z para suspender)
jobs
bg
fg
Pode repetir para vários processos — jobs vai enumerando cada um.
Dicas e boas práticas com bg e fg
- Use jobs frequentemente para saber o que está ativo ou suspenso no shell.
- Especifique sempre o número do job caso haja múltiplos processos rodando em paralelo, evitando confusões.
- Processos em segundo plano NÃO podem interagir via entrada padrão (teclado), cuidado se eles pedirem dados do usuário.

Por que dominar bg e fg é importante?
Trabalhar de forma flexível no terminal Linux é essencial para quem busca produtividade e eficiência. Saber manipular processos entre os planos permite fazer várias tarefas em paralelo, dar atenção a trabalhos importantes quando necessário, e nunca ficar travado esperando o tempo de execução de um comando longo.
Além disso, bg/fg são recursos interativos que, aliados a outros comandos como kill e jobs, dão controle prático sobre o seu fluxo de trabalho na linha de comando.


