Buscar

Considerando que, o seguinte trecho de código foi inserido no arquivo aula-10.sh #!/bin/bash ( while [ 1 ] do sleep 1 echo "Dentro do loop 1 ..." d...

Considerando que, o seguinte trecho de código foi inserido no arquivo aula-10.sh
#!/bin/bash
(
while [ 1 ]
do
sleep 1
echo "Dentro do loop 1 ..."
done
)
Após execução desse programa, abriu-se um outro terminal e digitou-se o seguinte comando:
ps -ef | grep aula-10.sh
Considerando esse cenário, marque a alternativa VERDADEIRA.


É possível verificar que, o resultado do comando ps -ef | grep aula-10.sh mostrará pelo menos duas linhas, visto que, o interpretador shell abrirá dois processos para o script do enunciado.
O interpretador do shell abrirá um processo que executará o script até que o usuário feche a tela do terminal, sendo que não há outra maneira de finalizar o processo visto que ele é basicamente, um loop infinito.
Os parênteses do script poderiam ser removidos sem prejuízos para o funcionamento do programa. Nesse caso, a quantidade de processos executados na máquina seria exatamente a mesma quantidade de processos do script com os parênteses.
Não será possível executar um outro comando no terminal, visto que, após a execução do script aula-10.sh o terminal ficará preso e não será possível executar o comando ps -ef | grep aula-10.sh, já que se trata de um loop infinito.

Essa pergunta também está no material:

10 exercício
5 pág.

Programação para Servidores Universidade Estácio de SáUniversidade Estácio de Sá

💡 1 Resposta

User badge image

Ed Verified user icon

A alternativa verdadeira é: É possível verificar que, o resultado do comando ps -ef | grep aula-10.sh mostrará pelo menos duas linhas, visto que, o interpretador shell abrirá dois processos para o script do enunciado. O trecho de código apresentado cria um loop infinito que imprime a mensagem "Dentro do loop 1 ..." a cada segundo. Ao executar o comando "ps -ef | grep aula-10.sh" em outro terminal, é possível verificar que existem pelo menos duas linhas, uma para o processo do interpretador shell e outra para o processo do script aula-10.sh. Os parênteses no script criam um subshell, que permite que o loop seja executado em segundo plano, sem bloquear o terminal. Se os parênteses fossem removidos, o loop seria executado no shell atual, bloqueando o terminal. Por fim, é possível executar outros comandos no terminal, mesmo após a execução do script aula-10.sh. Basta pressionar "Ctrl + C" para interromper a execução do loop e voltar ao prompt do shell.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais