Anexe o comando para executar quando o thread de longa execução retornar

Anexe o comando para executar quando o thread de longa execução retornar

Digamos que acabei de iniciar um comando que levará muito tempo para ser executado, como hg clonetodo o conjunto de desenvolvimento do Pypy. No meio, decido que gostaria de executar outro processo, como hg up, assim que o primeiro retornar. Existe uma maneira de anexar um comando para executar quando o processo retornar, sem parar o comando/processo e depois reiniciá-lo como um comando encadeado? comando/processo?

Responder1

Supondo que você esteja usando bashe colocando a tarefa de longa execução no plano de fundo do shell atual, executando longtask &ou iniciando a tarefa e pressionando CTRL+ Z, 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"só é executado após a conclusão do waitno PID 27722.

O que 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 - esperamos que isso lhe dê um começo.

informação relacionada