o que acontece no bash enquanto o comando interno é executado como processo em segundo plano

0

Atualizado:

O comando interno não foi feito como um processo separado na execução normal porque foi feito com o shell.

mas quais etapas são executadas pelo bash, se o processo interno foi executado em segundo plano.

  1. Como esse processo é executado sem arquivo separado.

    1. A criação de um arquivo com código do que no comando construído, em seguida, executá-lo?
    2. Ou bash executar esses comandos como convertendo-os como bash -c "cd" antes de executá-lo?.
  2. porque alguns comandos incorporados saíram instantaneamente sem esperar por nenhuma entrada como ler &

  3. por que O bash fornece o PID primeiro, antes de verificar se o comando (file) existia.

obrigado,

    
por purushothaman poovai 20.07.2016 / 06:48

1 resposta

3

Como você parece entender, as funções internas do shell, como echo , são processadas pelo shell em execução e, portanto, não requerem que um novo processo seja iniciado em primeiro plano (normalmente).

No entanto, se você os enviar para o segundo plano, eles precisarão ser controlados por um shell distinto e, consequentemente, iniciarão um novo processo de shell com o comando em questão. Isso deve ser razoavelmente fácil de ser observado no bash, já que enviar um processo em segundo plano mostrará o novo ID do processo ao lado do número do trabalho, como:

$ echo 'hi' &
[1] 19536
hi

Neste caso, o processo 19536 é uma nova instância do bash.

    
por 20.07.2016 / 07:59

Tags