Skip to content

Multitarefa: processo em segundo plano e processo em primeiro plano

7 de abril de 2021

Como um sistema operacional multitarefa, o Linux oferece suporte à execução de muitos processos – basicamente, programas ou comandos ou tarefas semelhantes – em segundo plano enquanto você continua a trabalhar em primeiro plano.

Processos de Primeiro Plano

UMA processo de primeiro plano é qualquer comando ou tarefa que você executa diretamente e aguarda sua conclusão. Alguns processos em primeiro plano mostram algum tipo de interface do usuário que oferece suporte à interação contínua do usuário, enquanto outros executam uma tarefa e “congelam” o computador enquanto ele a conclui. No shell, um processo em primeiro plano começa digitando um comando no prompt. Por exemplo, para ver uma lista simples dos arquivos no diretório ativo, digite: ls

type = “code”> Você verá a lista de arquivos. Enquanto o computador está preparando e imprimindo essa lista, você não pode fazer mais nada a partir do prompt de comando. Depois que a lista de arquivos for impressa na saída padrão, você terá acesso novamente ao prompt do shell.

Processo de Fundo

Ao contrário de um processo de primeiro plano, o shell não precisa esperar por um processo de fundo para terminar antes que possa executar mais processos. Dentro do limite da quantidade de memória disponível, você pode inserir vários comandos em segundo plano, um após o outro. Para executar um comando como um processo em segundo plano, digite o comando e adicione um espaço e um E comercial ao final do comando. Por exemplo: command1 &

type = “code”> Quando você emite um comando com o “e” comercial final, o shell executa o trabalho, mas em vez de fazer você esperar o comando terminar, você retornará imediatamente ao shell. Neste ponto, você pode inserir outro comando para o processo de primeiro ou segundo plano. Os trabalhos em segundo plano são executados com uma prioridade inferior aos trabalhos em primeiro plano. Você verá uma mensagem na tela quando um processo em segundo plano terminar.

Alternando entre processos

Se um processo em primeiro plano estiver demorando muito, pare-o pressionando Ctrl + Z. Ainda existe um trabalho interrompido, mas sua execução foi suspensa. Para retomar o trabalho, mas em segundo plano, digite bg para enviar o trabalho interrompido para execução em segundo plano. Para retomar um processo suspenso em primeiro plano, digite fg e esse processo assumirá a sessão ativa. Para ver uma lista de todos os processos suspensos, use o empregos comando, ou use o principal comando para mostrar uma lista das tarefas mais intensivas da CPU para que você possa suspendê-las ou interrompê-las para liberar recursos do sistema. Para alterar a prioridade de execução de um processo, use legal e Renice.

Shell vs. GUI

A multitarefa funciona de maneira diferente, dependendo se você está trabalhando no shell ou em uma interface gráfica do usuário. O Linux do shell suporta apenas um processo de primeiro plano ativo por terminal virtual. No entanto, da perspectiva prática do usuário, um ambiente com janelas (por exemplo, Linux com uma área de trabalho, não de um shell baseado em texto) oferece suporte a várias janelas ativas que funcionam efetivamente como vários processos simultâneos em primeiro plano. Na prática, o Linux nos bastidores ajusta a prioridade dos processos em uma GUI para promover a estabilidade do sistema e oferecer suporte ao processamento do usuário final.