No Linux, você frequentemente encontra comandos que demoram muito para serem concluídos. Em vez de esperar e deixar seu terminal inutilizável, você pode usar o controle de jobs do Linux para gerenciar essas tarefas. Este recurso poderoso permite executar e gerenciar múltiplos processos em segundo plano dentro de uma única sessão de shell, melhorando significativamente seu fluxo de trabalho.
Executando um Comando em Segundo Plano
Para iniciar um processo diretamente em segundo plano, basta adicionar um e comercial (&) ao final do seu comando. Isso retorna imediatamente o prompt do seu shell, permitindo que você continue trabalhando enquanto o comando é executado.
sleep 1000 &
sleep 1001 &
sleep 1002 &
Listando Jobs em Segundo Plano
Você pode visualizar todos os jobs sendo executados em segundo plano usando o comando jobs.
$ jobs
[1] Running sleep 1000 &
[2]- Running sleep 1001 &
[3]+ Running sleep 1002 &
A saída fornece o ID do job na primeira coluna, seu status e o comando original. O símbolo + indica o job em segundo plano iniciado mais recentemente, enquanto o símbolo - marca o segundo job mais recente.
Gerenciando Processos Ativos
E se um comando já estiver sendo executado em primeiro plano e você decidir que precisa do seu terminal de volta? Você não precisa pará-lo. Primeiro, suspenda o processo em execução pressionando Ctrl-Z. Em seguida, use o comando bg para enviar esse job suspenso para o segundo plano.
pete@icebox ~ $ sleep 1003
^Z
[4]+ Stopped sleep 1003
pete@icebox ~ $ bg
[4]+ sleep 1003 &
Agora, o processo sleep 1003 está sendo executado como um job em segundo plano, e você pode verificar isso com o comando jobs.
Trazendo um Job para Primeiro Plano
Para trazer um processo em segundo plano de volta para o primeiro plano, use o comando fg. Você pode especificar um job específico pelo seu ID (ex: fg %1). Se você executar o comando fg sem argumentos, ele trará o job em segundo plano mais recente (aquele marcado com +) para o primeiro plano.
fg %1
Terminando Jobs em Segundo Plano
Se você precisar parar um processo em segundo plano, pode usar o comando kill. Semelhante ao comando fg, você referencia o job usando seu ID prefixado com um sinal de porcentagem (%). Esta é uma função chave do controle de jobs do Linux.
kill %1
Dominar esses comandos é essencial para qualquer usuário Linux iniciante que deseja realizar multitarefas de forma eficiente no shell.