Enquanto um comando está executando, o shell normalmente executa o seguinte:
*
espera: A concha entra em um estado de "espera". Ele faz uma pausa em sua própria execução e não processa outros comandos da entrada até que o comando atualmente em execução seja concluído. Este é o comportamento padrão para a maioria dos comandos.
*
I/O Gerenciamento (se aplicável): O shell pode lidar com o redirecionamento de entrada e saída para o comando. Se o comando usar `<`, `>`, `>>`, `|` ou outros operadores de redirecionamento, o shell configura os tubos e descritores de arquivo apropriados antes de iniciar o comando. Ele gerencia o fluxo de dados entre o comando e suas entradas/saídas.
* Manuseio de sinal
: O shell gerencia sinais (como interrupções, SIGINT, enviado por Ctrl+C). Se um sinal for recebido enquanto um comando estiver em execução, o shell poderá encaminhar o sinal para o comando em execução ou manipular -o, dependendo de sua configuração e do sinal específico.
*
Gerenciamento de processos: O shell cria um novo processo para o comando ser executado. Isso separa a execução do comando do shell, impedindo que as falhas no comando afetem o próprio shell. A concha gerencia esse processo infantil até que termine.
*
Nenhum outro processamento de comando: Ele não interpreta ou executa mais informações até que o comando atualmente em execução termine (a menos que seja um processo em segundo plano, veja abaixo).
Processos de fundo: A exceção é quando um comando é executado em segundo plano (usando `&`). Nesse caso, o shell * não espera. Ele imprime o ID do processo (PID) do processo em segundo plano e retoma imediatamente a aceitação e o processamento de novos comandos do usuário. No entanto, ainda está gerenciando esse processo em segundo plano - verificando seu status, lidando com sinais e limpando quando termina.
Em resumo, a ação principal está esperando. No entanto, nos bastidores, há atividades significativas envolvendo E/S, sinais e gerenciamento de processos para garantir a execução e a integração adequadas do comando no ambiente do shell.