Obrigado pessoal por suas respostas .. Eu tenho a solução em stackoverflow
Você pode usar a espera para esperar que todos os processos de segundo plano iniciados pelo userscript sejam concluídos. Como a espera só funciona nos filhos do shell atual, você precisará criar o script em vez de executá-lo como um processo separado.
(fonte userscript; espera)
O fornecimento do script em um subshell explícito deve simular o início de um novo processo de perto o suficiente. Se não, você também pode colocar em segundo plano o subshell, o que força um novo processo a ser iniciado, então espere que ele seja concluído.
(fonte userscript; espera) & espera
Aqui está o link para a resposta original por @chepner: link