Anexar comando para executar quando o encadeamento de longa duração retorna

3

Digamos que eu tenha acabado de iniciar um comando que levará muito tempo para ser executado, como hg clone de todo o conjunto de desenvolvimento do Pypy. Na metade, decido que gostaria de executar outro processo, como hg up , quando o primeiro retornar. Existe uma maneira de anexar um comando para executar quando o processo retorna, sem interromper o comando / processo e, em seguida, reiniciá-lo como um comando encadeado? comando / processo?

    
por Kevin Burke 28.07.2011 / 09:02

1 resposta

3

Supondo que você esteja usando bash e supondo que você tenha colocado a tarefa de longa duração no plano de fundo do shell atual, seja executando longtask & ou iniciando a tarefa, em seguida, pressionando CTRL + Z , então você pode adicionar um comando extra para executar, por exemplo:

$ sleep 45 &
[1] 27722
$ wait 27722 && echo "Done"
[1]+  Done   sleep 45
Done
$

No exemplo acima, o echo "Done" é executado somente após a conclusão do wait no PID 27722.

A coisa que eu não encontrei é uma maneira de colocar esse comando adicional em segundo plano para permitir que você continue trabalhando no mesmo shell. Deve haver uma maneira de fazer isso - isso deve lhe dar um começo.

    
por 28.07.2011 / 13:22

Tags