Sair bem de um script Bash

1

Estou implementando a solução de registro em log apresentada aqui , e eu não sei se as seguintes linhas são necessárias sempre que eu sair do processo / script Bash pai:

if [ -n "$teepid" ]; then
    exec 1>&- 2>&-  # Close file descriptors to signal EOF to the 'tee'
                    # command in the background process
    wait $teepid # Wait for background process to exit
fi

Essas linhas podem ser encontradas na função log() e no final do script. Eu sei que eles são necessários na função log() , mas eles são necessários no final do script?

Em outras palavras: Meu trabalho em segundo plano sairia bem sem ter o código mencionado antes de cada comando exit em meu processo pai?

    
por Dor 14.07.2011 / 22:33

1 resposta

1

O processo identificado pelo PID $teepid é baseado em & . Se você sair sem esperar que o PID seja concluído, a única coisa ruim que acontecerá é a mesma coisa que acontece se você usar & no shell. Você atingirá [Enter] mais tarde e será importunado com uma mensagem [1] {pid} exited (ou algo semelhante, não se lembra exatamente agora) antes que sua próxima linha de prompt seja exibida.

    
por 14.07.2011 / 23:12

Tags