Controle de Tarefas (bg, fg, jobs)
Aprenda a gerenciar processos em segundo e primeiro plano, pausá-los, retomá-los e listar tarefas na sua sessão do shell.
Controle de Tarefas (bg, fg, jobs) é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que é controle de tarefas?
Bem-vindo ao controle de tarefas! Esse recurso poderoso do shell Linux permite gerenciar programas em execução sem fechar seu terminal nem abrir outros.
Pense nele como uma forma de realizar várias tarefas na linha de comando. Você pode pausar uma tarefa, movê-la para segundo plano ou trazê-la de volta para o primeiro plano.
Primeiro plano vs. segundo plano
Quando executa um comando, ele normalmente é executado em primeiro plano. Isso significa que ele assume o controle do seu terminal, e não pode introduzir novos comandos até que ele termine.
Um processo em segundo plano, por outro lado, é executado de forma independente. Ele libera o seu terminal para que possa continuar trabalhando em outras tarefas enquanto é executado.
Pausando um processo (Ctrl+Z)
Para pausar um processo em primeiro plano que esteja em execução, use o atalho de teclado Ctrl+Z. Isso envia um sinal SIGTSTP, suspendendo o processo.
O processo não é encerrado; ele se torna uma tarefa "parada", aguardando que informe o que fazer em seguida.
Visualizando suas tarefas (jobs)
Depois de pausar um processo (ou enviá-lo para o segundo plano), pode ver uma lista de todas as tarefas ativas na sessão atual do shell usando o comando jobs.
Cada tarefa recebe um número exclusivo (como [1], [2] etc.) e seu status (por exemplo, Stopped, Running).
sleep 50 &
sleep 60 &
jobsTrazendo para o primeiro plano (fg)
Se tiver uma tarefa parada ou em segundo plano, pode trazê-la de volta ao primeiro plano usando o comando fg, seguido do número da tarefa (por exemplo, %1).
Isso faz com que a tarefa volte a ser o processo ativo no seu terminal.
sleep 100 &
jobs
# Now, let's bring it to foreground
fg %1Enviando para o segundo plano (bg)
Para retomar uma tarefa parada e enviá-la para o segundo plano, use o comando bg com o número da tarefa.
O processo continuará sendo executado sem bloquear o seu terminal, e o prompt ficará disponível imediatamente.
sleep 200
# Press Ctrl+Z to stop it
# Then type:
bg %1
jobsExecutando em segundo plano ( & )
Nem sempre é necessário iniciar um processo em primeiro plano e depois pausá-lo. Pode iniciar um comando diretamente em segundo plano acrescentando um e comercial (&) ao final do comando.
Isso é ótimo para tarefas demoradas com as quais não precisa interagir.
echo "Starting long task..." &
sleep 300 &
jobsNúmeros de tarefas e PIDs
Ao usar jobs, verá números de tarefas como [1], [2]. Eles são específicos da sua sessão do shell.
Todo processo em execução também tem um ID do processo (PID) exclusivo, que é um número válido em todo o sistema. Pode ver os PIDs com jobs -l ou ps.
sleep 100 &
jobs -lInterrompendo tarefas (kill)
Para encerrar uma tarefa em segundo plano ou parada, pode usar o comando kill. Pode especificar o número da tarefa (por exemplo, kill %1) ou seu PID (por exemplo, kill 12345).
kill envia um sinal ao processo. Por padrão, é SIGTERM (encerramento normal). Para um encerramento forçado, use kill -9 %job_number ou kill -9 PID.
sleep 500 &
jobs
# Assuming sleep is job 1:
kill %1
jobsQuestionário sobre controle de tarefas
Iniciou um comando demorado (por exemplo, find / -name *.txt), mas agora precisa recuperar o terminal para digitar outro comando. Qual é a sequência correta para pausar o comando find, enviá-lo para o segundo plano para que continue sendo executado e, em seguida, confirmar que ele é uma tarefa em segundo plano?
Recapitulação: controle de tarefas
Você dominou o controle de tarefas!
Ctrl+Zpausa um processo em primeiro plano.jobslista todas as tarefas ativas.fg %Ntraz a tarefaNpara o primeiro plano.bg %Nenvia a tarefa paradaNpara o segundo plano.- Acrescentar
&executa um comando diretamente em segundo plano. kill %Noukill PIDencerra uma tarefa.
Isso permite gerenciar várias tarefas com eficiência em uma única sessão do terminal!
Aprenda DevOps Bootcamp com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 142
- Aulas
- 568
Perguntas Frequentes
A aula “Controle de Tarefas (bg, fg, jobs)” é grátis?
Sim — o texto completo de “Controle de Tarefas (bg, fg, jobs)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Controle de Tarefas (bg, fg, jobs)”?
Aprenda a gerenciar processos em segundo e primeiro plano, pausá-los, retomá-los e listar tarefas na sua sessão do shell. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Controle de Tarefas (bg, fg, jobs)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Controle de Tarefas (bg, fg, jobs)
- Expansão e Globbing do Shell
- Aliases e Prompts Personalizados
- Funções de Shell e Fragmentos Reutilizáveis