Sim, isso funcionaria.
Se não tiver certeza, você pode testá-lo com
-
sleep 15
-
Ctrl + z
-
fg; echo "it works"
Às vezes, inicio um programa que leva muito tempo para terminar ( emerge
), depois percebo que devo ir para a cama em vez de esperar por ele. Se eu sei disso em primeiro lugar, eu corro
program; halt
No entanto, agora que já iniciei o programa, como posso "agendar" o computador para ser encerrado quando esse processo for concluído? Ctrl+z
then fg; halt
estaria OK?
Outra maneira é apenas digitar halt
no seu terminal enquanto o primeiro comando está em execução; contanto que o primeiro comando não leia a entrada em algum momento, ele ficará no buffer do terminal e o shell irá lê-lo quando o primeiro programa terminar
Usando o comando wait
$ sleep 10 &
[1] 29703
$ wait 29703 && echo hello
[1]+ Done sleep 10
hello
Tags command-line scheduling