Qual é a principal diferença entre o processo de primeiro e segundo plano?

0

Se digitarmos um comando em um shell, ele basicamente cria um filho chamando fork e, em seguida, o comando child's executa o comando que digitamos, então o pai dele é o shell. Se for um processo em primeiro plano, o pai (neste caso, shell) tem que esperar que o filho termine e se digitarmos & ele é executado em segundo plano. Então, o que exatamente faz o pai esperar ou não esperar que o filho termine?

    
por kkr 10.11.2016 / 18:22

1 resposta

1

Como Eric Renouf comentado , se você quiser esperar por um processo filho em seu próprio código, você deve usar o A função wait (normalmente implementada como uma chamada de sistema e uma função de biblioteca C, Você encontrará manpages nas seções 2 e 3). A página vinculada tem um exemplo de implementação.

Se você quiser fazer a mesma coisa no código shell, use o wait que aguarda a conclusão de um trabalho em segundo plano.

    
por 10.11.2016 / 19:38